在java 8 / netbeans 7.4中运行java db时出错

时间:2014-03-30 20:57:37

标签: java netbeans derby javadb

我最近更新到jre8。看来目前的安全设置真的很讨厌。我无法运行javadb

我收到以下错误

Mon Mar 31 02:04:54 IST 2014:使用基本服务器安全策略安装安全管理器。 Mon Mar 31 02:04:54 IST 2014:访问被拒绝(“java.net.SocketPermission”“localhost:1527”“listen,resolve”) java.security.AccessControlException:拒绝访问(“java.net.SocketPermission”“localhost:1527”“listen,resolve”)

我采取了哪些步骤

  • 更改了java.policy文件中的权限以侦听1527(也添加了解决方法) - 但无效

这是http://www.oracle.com/technetwork/java/javase/8-known-issues-2157115.html给出的

  

错误8030961

     

区域:Java DB概要可能需要其他权限   打开Java DB网络服务器。特别是创业公司   脚本可能无法启动网络服务器。

     

尝试启动时,网络服务器可能会失败并抬起   以下错误:

     

访问被拒绝(“java.net.SocketPermission”“localhost:1527”   “listen,resolve”)java.security.AccessControlException:访问被拒绝   (“java.net.SocketPermission”“localhost:1527”“listen,resolve”)修复   这个问题,您必须使用安全性启动网络服务器   包含缺少权限的策略。而不是启动   网络服务器:

     

java org.apache.derby.drda.NetworkServerControl开始启动网络   服务器如下:

     

java -Djava.security.manager -Djava.security.policy = $ {yourPolicyFile}   org.apache.derby.drda.NetworkServerControl从哪里开始   $ {yourPolicyFile}是一个包含自定义版本的文件   标题为“基本”的“Java DB管理指南”部分中描述的策略文件   网络服务器安全策略。您必须自定义该通用策略   文件以适合您的应用程序。此外,您必须添加以下内容   授予权限块的权限   $ {derby.install.url} derbynet.jar codebase:

     

权限java.net.SocketPermission“localhost:$ {port}”,“listen”;   其中$ {port}应该由网络的端口号替换   服务器侦听传入的连接请求。默认情况下,即   1527号港口。

现在我完全不知道该怎么办 *我需要做任何额外的事情吗? *找到derbynet.jar(作为可执行的jar文件)如何编辑,我该怎么编辑

谢谢,

1 个答案:

答案 0 :(得分:1)

认为你需要展示

1)如何启动服务器(cmdline) 2)你得到的堆栈跟踪 3)您的政策文件的内容

或者,您可以在corresponding Derby Jira issue

中学习评论