当我想在netbeans 8中启动Java DB时,Java DB没有启动,并且它给了我以下错误。
Sun Jun 01 21:34:53 PDT 2014 : Security manager installed using the Basic server security policy.
Sun Jun 01 21:34:53 PDT 2014 : access denied ("java.net.SocketPermission" "localhost:1527" "listen,resolve")
java.security.AccessControlException: access denied ("java.net.SocketPermission" "localhost:1527" "listen,resolve")
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:457)
at java.security.AccessController.checkPermission(AccessController.java:884)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.SecurityManager.checkListen(SecurityManager.java:1131)
at java.net.ServerSocket.bind(ServerSocket.java:374)
at java.net.ServerSocket.<init>(ServerSocket.java:237)
at javax.net.DefaultServerSocketFactory.createServerSocket(ServerSocketFactory.java:231)
at org.apache.derby.impl.drda.NetworkServerControlImpl.createServerSocket(Unknown Source)
at org.apache.derby.impl.drda.NetworkServerControlImpl.access$000(Unknown Source)
at org.apache.derby.impl.drda.NetworkServerControlImpl$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.derby.impl.drda.NetworkServerControlImpl.blockingStart(Unknown Source)
at org.apache.derby.impl.drda.NetworkServerControlImpl.executeWork(Unknown Source)
at org.apache.derby.drda.NetworkServerControl.main(Unknown Source)
my dependencies section pom.xml字段
<dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derbyclient</artifactId>
<version>10.10.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derbynet</artifactId>
<version>10.10.2.0</version>
</dependency>
</dependencies>
有人知道我该如何解决这个问题吗?如果需要更多的信息,我会提供。
注意:我尝试用netbeans 8中的maven来编写jsp项目。第一页将要求姓名和电子邮件地址和第二页将这些信息添加到数据库通过dreby客户端,并显示结果。尽管如此,我还是碰到了这个问题。
根据这个链接,最简单的解决方案是用-noSecurityManager
参数启动Java DB。
更全面的方法是遵循Oracle网站(Under Bug **8030961**
)上提供的说明。
编辑:这是你应该做的。这些步骤假设你有一个Derby数据库实例运行在您的机器上,监听端口1527。
-
打开命令提示符,使用
cd
命令导航到您的Java安装。在我的例子中,它是在C:Program FilesJavajdk1.8.0dbbin
。 -
一旦你设法进入该目录,输入
stopNetworkServer
来停止服务器,然后,一旦命令完成,输入startNetworkServer -noSecurityManager
。
一旦服务器重新启动,你应该准备好了