我正在寻找一个Java参数(或者其他不同的方法),允许我指定一个文件作为JVM所使用的java.security文件,而不是使用在JDK中发现的那个(在JRE lib中)。
更具体地说,我正在使用由他人设置并运行两个(或多个)不同JVM的WebLogic服务器。我们遇到了一个问题,即我正在处理的一个JVM需要与另一个JVM当前使用的不同的java.security文件。我希望有一种方法可以让我只需将我的JVM指向一个新的java.security文件,而无需将其指向完全新的JDK(由于空间限制,我们希望避免上传针对每个JVM特定的JDK)。
我意识到服务器的设置并不理想,但完全重新排列现有设置不可行,也不是我能够做到的事情。因此,我希望有人能提出一个创造性的解决方案,允许多个JVM在相同的JDK上运行,但具有不同的安全配置。
我一直在努力寻找解决方案,但似乎我的谷歌搜索不如我所希望的那样强大。希望你们中的其中一个有答案!
非常感谢。
编辑
抱歉,也许我的原始帖子不太清楚,但我感兴趣的是指定java.security文件,这个文件通常被称为Java主安全属性文件,而不是在同一目录中找到的java.policy文件。
我的方案
我将在此发布我的解决方案,供其他可能遇到类似情况的人参考。
由于我似乎找不到要在启动时指定的参数,因此我决定放弃使用java.security属性文件。可以使用Security类(java.security.Security)在代码中设置属性和提供程序(通常在文件中配置)。因此,至少在过渡期间,我计划编写一个类,以在启动后设置我的JVM特定安全配置(实际上覆盖了文件为其他JVM提供的默认配置)。尽管这种解决方案的明显缺点是它不会将此JVM的安全配置外部化,但该解决方案为我提供了一种在不影响运行在相同JDK上的其他JVM的配置的情况下设置JVM特定属性和提供程序的方法。
感谢其他人花费的时间和考虑。谢谢 =)