【发布时间】: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