【发布时间】:2014-11-10 14:39:05
【问题描述】:
我正在使用
访问我的代码中的属性文件 ClassName.class.getClassloader().getResourceAsStream("config/config.properties"));
和
this.getClass.getClassloader().getResourceAsStream("config/config.properties");
如果属性文件在资源目录中,一切正常,我使用 maven exec 插件运行程序没有任何问题。我只需要打电话
mvn exec:java -Dexec.mainClass="MyMainClass"
但这种方法作为一个很大的缺点。它包括属性文件
如何更改 maven 配置,以便 'config/config.properties' 文件可用于 maven exec 插件,而无需位于 'src' 中且不包含在 jar 中?
注意: 澄清一下,当应用程序在生产环境中运行时,我不知道必要的配置文件在哪里。我只知道它在类路径中。这就是为什么我需要使用getResourceAsStream() 并且我需要它不包含在 jar 文件中。
【问题讨论】:
-
@RobertScholte 请解释你想说什么。我查看了这个问题,但没有看到任何对这个问题有用的信息。
-
"我如何使 'config/config.properties' 文件可用于 maven exec 插件,而无需位于资源目录中且不包含在 jar 中。"它可以在哪里?它一定在某个地方。
-
@tieTYT 这更清楚了吗?
标签: java maven classpath executable-jar exec-maven-plugin