当我想在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)
我的依赖项部分pom.xml fiel
<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客户端将这些信息添加到数据库并显示结果。然而,我碰到了这个问题。
答案 0 :(得分:1)
根据this链接,最简单的解决方案是使用-noSecurityManager
参数启动Java DB。
更全面的解决方法是按照Oracle网站(Bug **8030961**
下)提供的说明进行操作。
编辑: 这是你应该做的。这些步骤假设你有一个 在您的计算机上运行并在端口1527上侦听的Derby数据库实例。
打开命令提示符并导航(使用cd
命令进行Java安装。就我而言,它位于C:\Program Files\Java\jdk1.8.0\db\bin
。如果你在那里找不到它,你可能想检查一下你的环境变量。
一旦您设法进入该目录,请键入stopNetworkServer
以停止服务器,然后,一旦该命令完成,请键入startNetworkServer -noSecurityManager
。
一旦服务器重新启动, 就可以准备好了。