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
変数our.homeは「C:\ foo」として定義されているため、Windowsでは「file:」の後の最初の「/」が必要です。ポリシーファイル自体にも同じ問題があります。
grant codeBase "file:/${our.home}/-" // Windows
grant codeBase "file:${our.home}/-" // Linux
私は特に、プラットフォームに依存しない方法でコードベースを指定するための賢い方法を探しています。ちなみに、私たちの.homeを再定義することは、FilePermission句で必要になるため、実際にはオプションではありません。