我正在研究JavaFx,我们需要在JNLP Web Start上运行我们的应用程序,我们遇到了一些问题,我们解决了它们,现在,我们在JNLP运行时的SocketPermission
中出错了。 / p>
当我向服务器(API)调用HTTP请求时,我的问题就发生了,由于权限被拒绝,应用程序无法调用请求:
java.security.AccessControlException: access denied ("java.net.SocketPermission" "192.168.1.16:8080" "connect,resolve")
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkConnect(Unknown Source)
at sun.plugin2.applet.SecurityManagerHelper.checkConnectHelper(Unknown Source)
at sun.plugin2.applet.FXAppletSecurityManager.checkConnect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at org.apache.http.conn.socket.PlainConnectionSocketFactory.connectSocket(PlainConnectionSocketFactory.java:74)
at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:134)
一些开发人员说我应该更改我的JRE中的java.policy
文件,并说这是解决它的错误方法,但我这样做了,没有任何反应。
还有其他方法可以解决这个问题吗?!
答案 0 :(得分:0)
将以下部分添加到您的JNLP文件中:
<security>
<all-permissions/>
</security>