2014-03-06 35 views
0

我想讀的文本文件後,我已經設置了安全經理是─權限授予特定的目錄,以避免java.security.AccessControlException

grant 
{ 
    permission java.io.FilePermission "/home/esamsar/NetBeansProjects/FilePermissionDemo/src/cheese.txt", "write"; 
}; 

政策文件,它工作正常,但當我向其中添加代碼庫時,每次都會遇到java.security.AccessControlException。 我的操作系統是Ubuntu,我試過以下,所有都遇到相同的異常。

grant codebase "file:/home/esamsar/NetBeansProjects/FilePermissionDemo/src/*" 
grant codebase "file://home/esamsar/NetBeansProjects/FilePermissionDemo/src/*" 
grant codebase "/home/esamsar/NetBeansProjects/FilePermissionDemo/src/*" 

難道有人指出正確的方式來添加代碼庫來授予特定目錄的權限。 在此先感謝。

+1

請發佈你的stacktrace。爲什麼你的代碼庫包含一個'src'目錄?它應該由JAR文件組成,或者在最差的.class文件目錄下。源代碼目錄不會在運行時出現。 – EJP

+0

Thanks.There在使用授權代碼庫「file:// home/esamsar/NetBeansProjects/FilePermissionDemo/build/classes/*」後引發安全異常。這導致相同的例外。 –

+1

除非和直到你發佈你的堆棧跟蹤請求你的問題不能被回答。我還希望在使用-Djava.security.debug = access失敗時看到相關輸出。 – EJP

回答

0

你有沒有嘗試這個辦法:

grant codebase "file:///home/esamsar/NetBeansProjects/FilePermissionDemo/classes/-" { 
    permission java.io.FilePermission "/home/esamsar/NetBeansProjects/FilePermissionDemo/src/cheese.txt", "write"; 
}; 

的這裏點是讓您的IDE是outputing編譯的類文件夾(在這裏我應該<your_project_path>/classes),與/-結束。