无法从 Netbeans 7.4 启动 derby 数据库 [英] Unable to start derby database from Netbeans 7.4
问题描述
我下载了 Netbeans 7.4 和 Java 7 Update 51.当我尝试从 Netbeans 启动 Java DB 或 derby 连接时出现以下错误.这是在 Windows 8 PC 上.我在工作时下载了适用于 Windows xp 32 位的版本.它工作正常.我不确定缺少什么.
I downloaded Netbeans 7.4 and Java 7 Update 51. I get the below error when I try to start Java DB or derby connection from Netbeans. This is on a windows 8 PC. I downloaded the version for windows xp 32 bit at work. It works fine. I am not sure what is missing.
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 的确切位置:
Find out exactly where the java home is by executing this instruction from NetBeans 7.4 :
System.out.println(System.getProperty("java.home"));
这是我的案例的输出:
C:Program FilesJavajdk1.7.0_51jre
这对我来说很重要,我正在修改另一个 java.policy
并且没有任何效果,浪费了我几个小时.
which is quite important for me, I was modifying another java.policy
and took no effect and wasted me a couple of hours.
由于java.policy
是unix风格的文件,而且是只读的,我用notepad++打开编辑,以管理员身份执行(在同一个java home下):>
For reason of java.policy
is an unix style file and read-only, I opened and edited it with notepad++ and executed as administrator (under the same java home):
C:Program FilesJavajdk1.7.0_51jrelibsecurityjava.policy
在第一次授权后仅将这些行添加到文件中:
Add only these lines into the file after the first grant:
grant {
permission java.net.SocketPermission "localhost:1527", "listen";
};
然后尝试从 NetBeans 连接数据库,它对我有用.
祝你好运.
这篇关于无法从 Netbeans 7.4 启动 derby 数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!