我想爲我們的客戶發佈一個安全策略文件 - Linux和Windows。在java.security文件,我添加了一個行指向我們的文件,但是由於路徑差異我以不同的方式指定它爲Windows和Linux如何在java.security和策略文件中指定平臺無關的路徑?
policy.url.3=file:/${our.home}/lib/OurSecurity.policy # Windows
policy.url.3=file:${our.home}/lib/OurSecurity.policy # Linux
這第一個「/」之後的「文件」因爲變量our.home被定義爲「C:\ foo」,所以在windows上是需要的。我已經在政策文件本身同樣的問題:
grant codeBase "file:/${our.home}/-" // Windows
grant codeBase "file:${our.home}/-" // Linux
我特別想找一個聰明的方式獨立於平臺的方式來指定代碼庫。順便說一下,重新定義our.home並不是一個真正的選擇,因爲它在FilePermission子句中是需要的。
你是否在自己的代碼中處理這些屬性? –
這些是由JVM直接讀取的標準文件。 –
這是對文件語法的引用:http://docs.oracle.com/javase/1.4.2/docs/guide/security/PolicyFiles.html –