gpt4 book ai didi

java - 覆盖 jar 中的 config.properties

转载 作者:行者123 更新时间:2023-11-29 05:03:53 25 4
gpt4 key购买 nike

我有一个可执行 jar 文件,其主要类在 META-INF/MANIFEST.MF 中指定,其中一些属性在 config.properties 中指定>文件夹/config.properties

所以我的jar文件的结构是

./my-jar-with-dependencies.jar
|- com/mypackage/Main.class
|- META_INF/MANIFEST.MF
|- config.properties
|- folder
| |- config.properties
| - system.properties
|- lib
|
..

我想要实现的是将 jar 文件执行为 java -jar my-jar-with-dependencies.jar -Dconfig.properties=\path\to\new\config.properties_outside_the_jar 并覆盖jar 中的属性文件。

这可能吗?如果是怎么办?

注意:jar 的打包方式不是我控制的,所以改变 jar 的包装并不是一个简单的选择

最佳答案

只需在类路径中的 jar 文件之前放置一个包含具有相同包结构的属性文件的目录:

./my-config-directory
|- config.properties
|- folder
|- config.properties
- system.properties

并使用

java -cp ./my-config-directory:my-jar-with-dependencies.jar:dependency1.jar:dependency2.jar com.mypackage.Main

请注意,jar 文件只是一个 zip 文件。因此,您也可以只解压缩 jar 文件,替换属性文件,然后再次压缩。

关于java - 覆盖 jar 中的 config.properties,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31080176/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com