我下载了 Netbeans 7.4 和 Java 7 Update 51。当我尝试从 Netbeans 启动 Java DB 或 derby 连接时出现以下错误。这是在 Windows 8 PC 上。我在工作时下载了适用于 windows xp 32 位的版本。它工作正常。我不确定缺少什么。
Thu Jan 16 00:48:23 EST 2014 : Security manager installed using the Basic server security policy.
Thu Jan 16 00:48:24 EST 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:372)
at java.security.AccessController.checkPermission(AccessController.java:559)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.SecurityManager.checkListen(SecurityManager.java:1134)
at java.net.ServerSocket.bind(ServerSocket.java:375)
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)
最佳答案
这就是我所做的:
通过在 NetBeans 7.4 中执行这条指令,找出 java home 的确切位置:
System.out.println(System.getProperty("java.home"));
这是我的案例的输出:
C:\Program Files\Java\jdk1.7.0_51\jre
这对我来说很重要,我正在修改另一个
java.policy
并没有生效,浪费了我几个小时。由于
java.policy
是一个 unix 样式文件并且是只读的,我用 notepad++ 打开并编辑它并以管理员身份执行(在同一个 java home 下):C:\Program Files\Java\jdk1.7.0_51\jre\lib\security\java.policy
在第一次授权后仅将这些行添加到文件中:
grant { permission java.net.SocketPermission "localhost:1527", "listen"; };
- 保存文件,由于权限的原因,这有点棘手。但是如果你以管理员身份运行 notepad++ 或任何其他编辑程序,就可以解决问题。
然后尝试从NetBeans连接数据库,它对我有用。
祝你好运。
关于java - 无法从 Netbeans 7.4 启动 derby 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21154400/