【问题标题】:error running javadb in jre 8 / netbeans 7.4在 jre 8 / netbeans 7.4 中运行 javadb 时出错
【发布时间】:2014-05-10 02:18:06
【问题描述】:

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

我收到以下错误

2014 年 3 月 31 日星期一 02:04:54 IST :使用基本服务器安全策略安装的安全管理器。 2014 年 3 月 31 日星期一 02:04:54 IST:访问被拒绝(“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 Synopsis 可能需要额外的权限 启动 Java DB 网络服务器。特别是启动 中的脚本可能无法启动网络服务器。

在尝试启动时,网络服务器可能会出现故障并引发 以下错误:

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

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

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

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

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

谢谢,

【问题讨论】:

  • 您的问题令人困惑:您是否更改了 java 策略设置?你试过这个吗:stuetzpunkt.wordpress.com/2014/01/20/…
  • @BryanPendleton,抱歉回复晚了,但按照文章中引用的说明进行操作,不行,仍然拒绝访问...
  • @StevenMai,不是重复的,因为您更改了政策以缓解 jdk 1.7 中的问题,而这里是 1.8,这样的措施并不简单!!!

标签: java netbeans derby javadb


【解决方案1】:

认为你需要展示

1) 你如何启动服务器(命令行) 2)你得到的堆栈跟踪 3) 策略文件的内容

或者,您可以研究corresponding Derby Jira issue 中的 cmets

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-27
    • 2020-05-09
    • 1970-01-01
    • 1970-01-01
    • 2020-07-13
    • 1970-01-01
    相关资源
    最近更新 更多