2016-04-28 42 views
0

我正在研究JavaFx,我們需要在JNLP Web Start上運行我們的應用程序,我們遇到了一些問題,並且我們解決了它們,現在,我們遇到了錯誤在JNLP運行時上執行SocketPermissionAaccess Denied - JNLP上的java.net.SocketPermission

我的問題發生在我打電話的HTTP請求到我們的服務器(API)的,該應用程序不能調用由於許可被拒絕的請求:

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) 

一些開發商說,我應該改變java.policy在我的JRE文件中,並說這是解決它的錯誤方法,但我這樣做並沒有發生任何事情。

還有其他方法可以解決這個問題嗎?

回答

0

添加下面的部分,將JNLP文件:

<security> 
     <all-permissions/> 
    </security> 
+0

注意,近日,JAR的清單還必須指定'全permissions'。請務必使用JaNeLA檢查JNLP,可在我的[共享驅動器](https://drive.google.com/drive/#folders/0B5B9wDXIGw9lUnJaUjA2cmlVRE0)上找到。 –

+0

@AndrewThompson JaNeLA是否有任何文檔或教程?在Drive中,我發現有很多Jar文件,我怎麼稱呼他們?! – MhmdAljobairi

+0

*「n Drive,我發現有很多Jar文件,我怎麼稱呼它們?!」*這是一個名爲'janela.jar'的文件。我沒有直接鏈接到它的原因是,那麼你只是得到一個大的,大多數是黑暗的屏幕,說它不能顯示預覽和'你想下載。如果您向下滾動目錄並選擇Jar,它將顯示非常短的聲音。但不要期望太多的文檔,這是幾年前寫的,不會更新。 –