如何在Maven中的模块之间共享配置文件
问题描述:
我正在开发一个带有多个模块的java maven项目。如何在Maven中的模块之间共享配置文件
我面临着将配置文件从一个模块共享到其依赖的问题。 例如,我有一个名为utils的模块,它包含一个log.properties文件,我想在另一个名为gui的模块中使用它。最佳做法是什么?
目前我们把log.properties放在config目录下,因为Maven标准布局提示它,它不包含在jar文件中。这是对的吗 ?我应该把它放在资源而不是?
我使用程序集插件将它复制到一个通用的配置目录,这很好,但是当我尝试单独构建每个模块时,配置文件无法到达。我该如何解决这个问题?
感谢您的帮助, Pierre。
答
你应该把你的配置放在src/main/resources/config/
。这样它将默认包含在jar中。 maven约定默认情况下,最终jar中只包含src/main/java
和src/main/resources
。
将属性文件直接访问到其他模块并不是一个好习惯。您应该在拥有配置的模块中提供服务,该配置是访问这些文件的唯一位置。该服务将能够给其他模块配置。否则,您违反单一责任原则。
感谢您的回答,那就是我最终做的。 – Pierre 2013-05-06 11:23:33