2014-01-27 92 views
1

我在使用netbeans時試圖啓動Java DB的問題。它給我一個訪問被拒絕的錯誤。經過一些研究,我發現這個提供了修復的Unable to start derby database from Netbeans 7.4。我試圖編輯java策略文件,但我無法打開java.policy文件,因爲我不確定如何。我也發現這個,它說如何打開文件http://docs.oracle.com/javase/tutorial/security/tour2/wstep1.html,但是當我在命令行輸入策略工具時,沒有任何東西彈出來。如何編輯Java策略文件?

這是我一直recieving

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) 

回答

0

請務必備份策略文件試圖編輯:)

策略文件只是一個文本文件之前的錯誤。你會像編輯一個java源文件一樣編輯(I.E.和一個文本編輯器)。記住,先備份文件(安全播放)。

希望幫助:)

+0

你能後的「拒絕訪問錯誤」?什麼被拒絕,使用一個端口?訪問目錄?執行某些東西的能力?登錄到數據庫?你沒有指定什麼被拒絕。你暗示,但你沒有指定。因此最好發佈實際的錯誤消息(相關部分)。 :) – lorinpa

+0

好吧,所以我用文本編輯器打開它,但我不知道wherre堅持這一行,權限java.net.SocketPermission「localhost:1527」,「listen」;我可以把它放在最後? – user3241544

+0

「贈款{....}」內的位置無關緊要。重要的是,你是否替換了一條線?換句話說,你是否已經有了一個「權限爲java.net.SocketPermission」的條目。如果是這樣,您想要替換參數(用新設置替換該行)。您不需要針對同一個java.net.SocketPermission的2個授權語句。這是否有道理:) – lorinpa

1

我在Mac(OSX運行小牛,JDK 1.7更新51,和Glassfish 4.0)和我有同樣的問題暫時無法編輯文件。所以,我做了以下內容:

  1. 查找輸入 sudo vim java.policy
  2. /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/security/
  3. 開始VIM您java.policy文件通過鍵入Vim命令走進文件插入模式 a
  4. 添加下面的代碼給你的權限: // permission for Glassfish 4.0 deployment permission java.net.SocketPermission "localhost:1527", "listen";
  5. 按回車鍵返回到命令模式。
  6. 現在保存,並通過鍵入:wq
  7. 重新啓動服務器退出該文件,你應該沒問題