繁体   English   中英

如何使带有属性文件的Java项目的可运行jar在运行时可编辑?

[英]how to make a runnable jar for a java project with properties files will be editable at runtime?

我的maven项目是一个独立的Java应用程序。 我需要在Unix机器上运行此表格。 所以我做了一个可运行的jar。但是每次运行我都必须在app.properties文件中更新一个日期。我尝试了maven jar插件来制作一个具有所有依赖关系的胖乎乎的jar。 它运行正常,但无法编辑app.properties文件

您可以像这样从类路径(根包)读取属性文件:

Properties properties = new Properties();
properties.load(this.getClass().getResourceAsStream("/app.properties")));

您可以使用以下自定义类路径启动可运行的jar:

java -cp app.properties:app.jar my.main.AppClass

(您不能使用java -jar因为-cp选项将被忽略)

把文件app.properties在同一目录app.jar app.properties的位置将是类路径上的第一个条目,因此jar中的代码可以如上所示加载它。

如果您确定jar中还有一个app.properties副本,那么如果缺少外部属性文件,它将用作默认值。 (请注意,这仅适用于完整的属性文件,不适用于单个属性)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM