java - 无法从 Netbeans 7.4 启动 derby 数据库

标签 java netbeans derby

我下载了 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)

connection properties java db properties

最佳答案

这就是我所做的:

  1. 通过在 NetBeans 7.4 中执行这条指令,找出 java home 的确切位置:

    System.out.println(System.getProperty("java.home"));

    这是我的案例的输出:

    C:\Program Files\Java\jdk1.7.0_51\jre

    这对我来说很重要,我正在修改另一个 java.policy 并没有生效,浪费了我几个小时。

  2. 由于 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";
    };
  3. 保存文件,由于权限的原因,这有点棘手。但是如果你以管理员身份运行 notepad++ 或任何其他编辑程序,就可以解决问题。

    然后尝试从NetBeans连接数据库,它对我有用。

祝你好运。

关于java - 无法从 Netbeans 7.4 启动 derby 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21154400/

相关文章:

php - 如何在 NetBeans 中关闭 "Fix Name To ..."提示?

java - 如何使用 Java 知道数据来自 cassandra 中的哪个种子节点

java - 网 bean 7 : How to unwrap long lines of code and editor context-menu "Format"

java - 如果它是 Java 中的正确格式,如何验证字符串

java - 拒绝执行异常

java - 在 eclipse 项目中实现嵌入式 Derby 数据库时出现问题?

java - Apache Derby : Column reference 'xx' is invalid, 或者是无效表达式的一部分。

java - 创建 DB 实体类时的 NetBeans 问题

Java:如何写入webapp中的文件夹?

java - XML 中的通配 rune 件匹配