Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.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
Maven程序集插件:包含来自模块的配置文件_Maven_Maven 3_Maven Assembly Plugin - Fatal编程技术网

Maven程序集插件:包含来自模块的配置文件

Maven程序集插件:包含来自模块的配置文件,maven,maven-3,maven-assembly-plugin,Maven,Maven 3,Maven Assembly Plugin,这是我的项目结构: 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 --->

这是我的项目结构:

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
我正在使用assembly和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>

有什么想法吗?

你有没有研究过汇编插件的多模块支持


您可能希望查看程序集描述符中的
配置,尤其是
子部分:

注意:这只会让您自己找到解决方案的一部分!问题在于,汇编插件的moduleSets函数最初设计为仅在当前项目(创建汇编的项目)的子模块上运行。为了解决这个问题,我们在2.2版汇编插件中引入了一个新的配置,称为
。将此标志设置为
true
,将使当前生成中的所有模块可供程序集使用


如果在moduleSet中启用此功能,则应该能够包含module1中的配置文件。

当然。。。我试图设置多模块选项,但没有得到任何结果。请注意,在moduleMain的pom.xml中设置了assembly plugin config,因此。。。从moduleMain的角度来看,module1真的是一个子模块吗???明白了!是解决问题的关键。。。。谢谢干得好
myProject.tar.gz
    bin
    lib
    logs
    conf --> Here we have config files from modeuleMain & module1