2014-01-07 20 views
1

是否有可能取代像代碼:這樣是否可以在策略文件中的jar文件名中使用通配符?

grant codeBase "file:${home.url}/installed/Engine/lib/runtime_3.jar" { 

    // permission for the Engine 
    permission java.util.PropertyPermission "*", "read"; 
    permission java.util.PropertyPermission "*", "write"; 
}; 

隨着代碼:

grant codeBase "file:${home.url}/installed/Engine/lib/runtime_*.jar" { 

    // permission for the Engine 
    permission java.util.PropertyPermission "*", "read"; 
    permission java.util.PropertyPermission "*", "write"; 
}; 

這樣才能避免反覆變化與圖書館的新版本的政策文件?

我還沒有看到這記錄在任何地方(並且我很難驗證這一點)。

+0

在部署時,Jars需要進行數字簽名,所以我看不到觸及策略文件的地步,您也可以在開發過程中解決如何對它們進行數字簽名。 –

+0

我希望能夠做到這一點。我將所有第三方.jar文件放在同一個文件夾中,並希望爲其中的一組授予特定的權限(例如,我有7個spring .jars,我希望授予它們相同的權限)。使用「spring- *」的通配符對我來說非常有用。 –

回答

0

沒有,但你可以用這個替代它:

grant codeBase "file:${home.url}/installed/Engine/lib/*" { 

或本:

grant codeBase "file:${home.url}/installed/Engine/lib/-" { 

頗爲驚訝您在大量的研究中沒有發現這種在documentation

帶有尾部「/ *」的代碼庫與該目錄中包含的所有文件(包括類和JAR文件)相匹配。具有尾部「/ - 」的代碼庫與目錄中的所有文件(類和JAR文件)匹配,並遞歸地包含在該目錄中的子目錄中的所有文件。
+1

謝謝,我不想授予目錄中所有jar的權限,只是一個經常升級的特定jar。 –

相關問題