这是我的项目结构:
myapp-parent
moduleMain
src/main/java ---> main class (it loads a spring context)
src/main/config ---> main config files
module1
src/main/java ---> specific code of the module
src/main/config ---> specific config files of the module
我正在使用汇编和appassembler maven插件进行分发。这是汇编描述符:
<assembly>
<id>archive</id>
<formats>
<format>zip</format>
<format>tar.gz</format>
</formats>
<fileSets>
<fileSet>
<directory>${project.build.directory}/generated-resources/appassembler/jsw/myProject/bin</directory>
<outputDirectory>bin</outputDirectory>
<includes>
<include>**</include>
</includes>
<useDefaultExcludes>true</useDefaultExcludes>
<fileMode>0755</fileMode>
<directoryMode>0755</directoryMode>
</fileSet>
<fileSet>
<directory>src/main/config</directory>
<outputDirectory>conf</outputDirectory>
</fileSet>
<fileSet>
<directory>${project.build.directory}/generated-resources/appassembler/jsw/myProject/conf</directory>
<outputDirectory>conf</outputDirectory>
</fileSet>
<fileSet>
<directory>${project.build.directory}/generated-resources/appassembler/jsw/myProject/lib</directory>
<outputDirectory>lib</outputDirectory>
</fileSet>
</fileSets>
</assembly>
因此,我得到一个包含配置文件夹('conf')的分发包。 问题是该目录中的配置文件来自mainModule,我想从module1获取配置文件也在同一个位置。
myProject.tar.gz
bin
lib
logs
conf --> Here we have config files from modeuleMain & module1
任何想法???
答案 0 :(得分:2)
您可能想要查看程序集描述符中的<moduleSet/>
配置,尤其是<sources/>
子部分:ModuleSet Source-Inclusion Example。
注意:这样只会让您 PART 找到解决方案的方法!问题是程序集插件的moduleSets函数最初设计用于仅在当前项目的子模块上运行(创建程序集的子模块)。为了解决这个问题,我们在程序集插件2.2版本中或附近引入了一个新配置,名为 <useAllReactorProjects/>
。将此标志设置为true
,可使当前版本中的所有模块都可用于程序集。
如果在moduleSet中启用此功能,则应该能够包含module1中的配置文件。
答案 1 :(得分:0)