1

我正在开发一个包含多个模块的 java maven 项目。

我面临将配置文件从一个模块共享到其依赖项的问题。例如,我有一个名为utils的模块,其中包含一个 log.properties 文件,我想在另一个名为gui的模块中使用它。这样做的最佳做法是什么?

目前我们按照 Maven 标准布局建议将 log.properties 放在config目录中,并且不包含在 jar 文件中。这是对的吗 ?我应该把它放在资源中吗?

我使用程序集插件将其复制到一个通用的配置目录,这很好用,但是当我尝试单独构建每个模块时,无法访问配置文件。我该如何解决这个问题?

谢谢你的帮助,皮埃尔。

4

2 回答 2

1

你应该把你的配置放在src/main/resources/config/. 这样,默认情况下它将包含在 jar 中。maven 约定是唯一的src/main/javasrc/main/resources默认情况下包含在最终的 jar 中。

让其他模块可以直接访问属性文件并不是一个好习惯。您应该在拥有配置的模块中提供服务,该配置是访问这些文件的唯一位置。该服务将能够为其他模块提供配置。否则你就违反了单一责任原则。

于 2013-05-02T12:13:22.213 回答
0

src/main/config您可以通过在 pom 的资源部分中指定目录来配置 maven 以将目录包含在构建的工件中,如此所述。

于 2013-05-02T19:56:03.997 回答