Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Maven程序集:配置文件最佳实践_Java_Maven_Maven Assembly Plugin - Fatal编程技术网

Java Maven程序集:配置文件最佳实践

Java Maven程序集:配置文件最佳实践,java,maven,maven-assembly-plugin,Java,Maven,Maven Assembly Plugin,我有一个多模块maven项目,包括一个单独的组装项目。当我从eclipse开发和运行应用程序时(在开发过程中),我的主模块(包含main类)中有特定的配置文件(例如log4j或其他属性文件)。这些文件包含特定于开发时间的信息。程序集项目包含用于生产的每个配置文件。然后,组装的产品应该使用这些配置。这是我当前的设置: MainModule/src/main/resources +configA.properties +log4j.properties Module1/src/m

我有一个多模块maven项目,包括一个单独的组装项目。当我从eclipse开发和运行应用程序时(在开发过程中),我的主模块(包含main类)中有特定的配置文件(例如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
由于类路径的原因,config目录覆盖了每个*.jar中的配置文件,即

java -cp configs/;libs/* My.Main.Class

现在的问题是,每个jar中仍然包含所有dev配置。另外,对于使用覆盖类路径方法,我有一种不好的感觉。有没有关于如何更好地执行此操作的实践?

将这些资源提取到所提到的每个模块的基于
分类器的依赖项中。然后定义触发其使用的
。在您的程序集中,根据需要使用分类器。

因此不鼓励提出所谓的最佳实践问题