1

我想将一些配置添加到类路径(由 maven-jar-plugin 生成),但我不希望它们在 jar 中,而是在外部文件夹中。这样我就可以在不重新打包的情况下编辑配置。我找到了一个解决方案如何在使用 exec 插件执行应用程序时添加类路径条目,但有没有不太复杂的解决方案?

或者也许我错了,这是一个糟糕的模式 - 将配置存储在类路径中但在 Jar 之外?也许最好将应用程序配置存储在用户的主目录中并在运行时将它们添加到应用程序中?

例如,我想允许最终用户编辑 log4j.properties 和翻译。

问候,

4

2 回答 2

1

我建议使用一个默认位置来查找应用程序配置(例如用户主目录,如您所建议的),但允许用户提供一个 agrument/System 属性来覆盖此位置。在我看来,假设查看类路径并不是最好的解决方案,因为类路径的概念对大多数用户来说是相当陌生的东西,甚至对一些程序员来说也很难确定。

于 2011-03-16T23:36:54.813 回答
0

我认为 Melv 是正确的——最好将配置存储在主目录中并提供更改它的能力,但是如果有人需要向类路径添加一些东西——你只需将以下代码添加到<configuration><archive>.

<manifestEntries>
    <Class-Path>config/</Class-Path>
    <mode>development</mode>
    <url>${pom.url}</url>
</manifestEntries>

如果你声明<addClasspath>true</addClasspath>,那么依赖类路径也将被添加。

于 2011-04-20T19:58:15.987 回答