首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >无法从Netbeans 7.4启动derby数据库

无法从Netbeans 7.4启动derby数据库
EN

Stack Overflow用户
提问于 2014-01-16 14:02:31
回答 8查看 74K关注 0票数 54

我下载了Netbeans 7.4和Java 7 Update 51。当我尝试从Netbeans启动Java DB或derby连接时,我得到以下错误。这是在Windows8PC上运行的。我在工作时下载了windows xp 32位的版本。它工作得很好。我不确定遗漏了什么。

代码语言:javascript
复制
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)

EN

回答 8

Stack Overflow用户

发布于 2014-01-21 05:24:31

由于上面的措施不起作用,我在主权限部分的末尾添加了以下权限:

代码语言:javascript
复制
permission java.net.SocketPermission "localhost:1527", "listen,resolve";
票数 5
EN

Stack Overflow用户

发布于 2014-04-08 16:58:54

您还可以通过在主目录中名为.java.policy的文件中授予所需的权限来解决每个用户的问题。

可在Unix和Windows系统上运行,如此处所述:http://docs.oracle.com/javase/7/docs/technotes/guides/security/PolicyFiles.html

如果系统范围的策略文件被覆盖,例如在更新JDK时,或者如果您没有编辑系统文件的权限,这可能会很有用。

这就是我的$HOME/.java.policy中的内容

代码语言:javascript
复制
grant {
    permission java.net.SocketPermission "localhost:1527", "listen";
};
票数 5
EN

Stack Overflow用户

发布于 2014-02-21 09:41:06

我最近有点受够了甲骨文的安全方法。他们似乎试图保护我们不受自己的影响,这种方式更适合天真的用户,而不是程序员。我的观点是,我放在自己机器上的代码应该能够做它需要做的任何事情。如果我把做坏事的代码放在那里,那是我的错。显然不是一个普遍可靠的观点,但它已经为我工作了大约35年。在此基础上,我将其添加到我的/lib/security/java.policy文件中:

代码语言:javascript
复制
grant codeBase "file:/-" {
    permission java.security.AllPermission;
};

注意,file:/-匹配系统上的任何文件,而授权块本质上是说,“如果类是从这个文件系统加载的,那么信任它”。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21154400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档