我有一个多模块 maven 项目,包括一个单独的程序集项目。当我从 Eclipse 开发和运行我的应用程序时(在开发期间),我的主模块(包含主类)中有特定的配置文件(例如 log4j 或其他属性文件)。这些文件包含特定于开发时间的信息。程序集项目包含用于生产的每个配置文件。然后组装的产品应该使用这些配置。这是我目前的设置:
MainModule/src/main/resources
+configA.properties
+log4j.properties
Module1/src/main/resources
+configB.properties
AssemblyProj/src/main/resources
+configA.properties
+configB.properties
+log4j.properties
生成的项目有这样的结构:
libs/
+MainModule.jar
+Module1.jar
configs/
+configA.properties
+configB.properties
+log4j.properties
由于类路径,配置目录覆盖了每个 *.jar 中的配置文件,即
java -cp configs/;libs/* My.Main.Class
现在我遇到的问题是每个 jar 中仍然包含所有开发配置。另外,我对使用该覆盖类路径方法有一种不好的感觉。有没有关于如何以更好的方式做到这一点的做法?