我想为我们的客户提供一个安全策略文件——Linux 和 Windows。在 java.security 文件中,我添加了一行指向我们的文件,但由于路径不同,我必须为 Windows 和 Linux 指定不同的文件
policy.url.3=file:/${our.home}/lib/OurSecurity.policy # Windows
policy.url.3=file:${our.home}/lib/OurSecurity.policy # Linux
Windows 上需要“file:”之后的第一个“/”,因为变量 our.home 被定义为“C:\foo”。我在策略文件本身也有同样的问题:
grant codeBase "file:/${our.home}/-" // Windows
grant codeBase "file:${our.home}/-" // Linux
我特别在寻找一种巧妙的方法来以独立于平台的方式指定 codeBase。顺便说一句,重新定义 our.home 并不是一个真正的选择,因为它需要在 FilePermission 子句中。