Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何编辑Java策略文件?_Java_Netbeans - Fatal编程技术网

如何编辑Java策略文件?

如何编辑Java策略文件?,java,netbeans,Java,Netbeans,我在使用netbeans时遇到了一个问题,我试图在其中启动javadb。它给了我一个拒绝访问的错误。经过一些研究,我发现这提供了一个解决方案。我试图编辑java策略文件,但无法打开java.policy文件,因为我不确定如何打开。我还发现了这个,它说明了如何打开poicy文件,但当我在命令行中输入policy tool时,什么也不会弹出 这是我一直收到的错误 Mon Jan 27 13:09:48 EST 2014 : Security manager installed using the B

我在使用netbeans时遇到了一个问题,我试图在其中启动javadb。它给了我一个拒绝访问的错误。经过一些研究,我发现这提供了一个解决方案。我试图编辑java策略文件,但无法打开java.policy文件,因为我不确定如何打开。我还发现了这个,它说明了如何打开poicy文件,但当我在命令行中输入policy tool时,什么也不会弹出

这是我一直收到的错误

Mon Jan 27 13:09:48 EST 2014 : Security manager installed using the Basic server security policy.
Mon Jan 27 13:09:48 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)
Mon Jan 27 13:09:48 EST 2014:使用基本服务器安全策略安装Security manager。
2014年1月27日星期一13:09:48:访问被拒绝(“java.net.SocketPermission”“localhost:1527”“侦听,解析”)
java.security.AccessControlException:拒绝访问(“java.net.SocketPermission”“localhost:1527”“侦听,解析”)
位于java.security.AccessControlContext.checkPermission(AccessControlContext.java:372)
在java.security.AccessController.checkPermission(AccessController.java:559)
位于java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
在java.lang.SecurityManager.checkListen(SecurityManager.java:1134)
位于java.net.ServerSocket.bind(ServerSocket.java:375)
位于java.net.ServerSocket.(ServerSocket.java:237)
位于javax.net.DefaultServerSocketFactory.createServerSocket(ServerSocketFactory.java:231)
位于org.apache.derby.impl.drda.NetworkServerControlImpl.createServerSocket(未知源)
位于org.apache.derby.impl.drda.NetworkServerControlImpl.access$000(未知来源)
位于org.apache.derby.impl.drda.NetworkServerControlImpl$1.run(未知源)
位于java.security.AccessController.doPrivileged(本机方法)
位于org.apache.derby.impl.drda.NetworkServerControlImpl.blockingStart(未知源)
位于org.apache.derby.impl.drda.NetworkServerControlImpl.executeWork(未知源)
位于org.apache.derby.drda.NetworkServerControl.main(未知源)

在尝试编辑之前,请确保备份策略文件:)

策略文件只是一个文本文件。您可以像编辑java源文件一样进行编辑(即使用文本编辑器)。记住,先备份文件(注意安全)

希望有帮助:)

我在Mac电脑上(运行OSX Mavericks、JDK 1.7 update 51和Glassfish 4.0),我也遇到同样的问题,无法编辑文件。因此,我做了以下工作:

  • 在中找到您的java.policy文件
    /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/security/
  • 通过键入启动VIM
    sudo vim java.policy
  • 通过键入Vim命令进入文件插入模式
    a
  • 将以下代码添加到您的权限中:
    //Glassfish 4.0部署权限java.net.SocketPermission“localhost:1527”,“侦听”
  • 按Esc按钮返回命令模式
  • 现在通过键入
    :wq
    保存并退出文件
  • 重新启动服务器,您应该会没事的

  • 你能发布“拒绝访问错误”吗?使用端口拒绝什么?访问目录?执行某事的能力?登录到数据库?您没有指定被拒绝的内容。你暗示了,但没有具体说明。因此,最好发布实际错误消息(相关部分):)好的,我用一个文本编辑器打开了它,但我不确定是否要坚持这一行,permission java.net.SocketPermission“localhost:1527”,“listen”;我可以把它放在最后吗?在“grants{….}”中的位置并不重要。重要的是,你是否正在替换一条线路。换句话说,您是否已经有了“permission java.net.SocketPermission”的条目。如果是,则要替换参数(用新设置替换该行)。对于相同的java.net.SocketPermission,您不需要两条grant语句。这有意义吗:)我试图在写字板中编辑documnet,但当我试图保存chagnesThank以获得响应时,它说访问被拒绝。但是,您需要指定“拒绝访问”的含义。我猜这意味着,您当前的操作系统用户(您登录的帐户)不允许对该文件进行写访问。如果正确,则需要确定文件的访问控制列表(ACL),然后使用适当的权限登录。它仍然只是一个文本文件。因此,我回答了你原来的问题,对吗:)