为JVM指定Java.Security文件的Java参数

前端之家收集整理的这篇文章主要介绍了为JVM指定Java.Security文件的Java参数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在寻找一个 java参数(或者可能有一些不同的方法),以允许我将JVM使用的文件指定为java.security文件,而不是使用JDK(在JRE lib)中找到的文件,.

为了给你一个更多的上下文,我正在使用由别人设置的WebLogic服务器,并且在同一个JDK中运行两个(或更多)不同的JVM.我们遇到了一个问题,现在我在一个JVM上所做的工作需要一个不同于另一个JVM当前使用的java.security文件.我希望有一种方法可以将我的JVM指向一个新的java.security文件,而不必将其指向一个全新的JDK(由于空间限制,我们希望避免上传每个JVM特定的JDK ).

我意识到服务器的设置不是很理想,但完全重新排列现有的设置是不可行的,而不是我能够做的事情.所以,我希望有人可能有一个创造性的解决方案,允许多个JVM运行在相同的JDK,但是具有不同的安全配置.

我一直在寻找解决方案,但是似乎我的Google-Foo并没有像我所希望的那样强大.这是希望你们中的一个有答案!

非常感谢.

编辑
对不起,我的原始帖子不清楚,但我有兴趣指定java.security文件,通常也被称为Java主安全属性文件,而不是在同一目录中找到的java.policy文件.

我的解决方

我将把我的解决方案发布给他们,供其他类似情况的人参考.

由于我似乎找不到在启动时指定的参数,所以我决定放弃java.security属性文件.可以使用Security类(java.security.Security)在代码中设置属性和提供者(通常在文件中配置).所以,至少在此期间,我打算写一个类,通过在启动后设置我的JVM特定的安全配置(基本上覆盖文件为其他JVM提供的默认配置).虽然此解决方案的明显缺点是并不外部化此JVM的安全配置,但该解决方案确实为我提供了设置JVM特定属性和提供程序的方法,而不会影响运行在同一JDK上的其他JVM的配置.

我感谢他人的时间和考虑.谢谢=)

解决方法

查看 OpenJDK source,您不能更改java.security文件的加载.但是,该文件具有一个名为security.overridePropertiesFile的属性,如果设置为true(如我当前的vanilla安装),则允许您加载通过名为java.security.properties的系统属性指定的其他安全属性文件.还要注意,命令行语法遵循与策略文件类似的模式,其中=指定附加配置,==指定完整的替换配置.

猜你在找的JVM相关文章