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 Assembly Plugin - Fatal编程技术网

带有maven程序集插件的多个文件-->&引用;已添加,跳过“;

带有maven程序集插件的多个文件-->&引用;已添加,跳过“;,maven,maven-assembly-plugin,Maven,Maven Assembly Plugin,我需要在一个tar by环境包中创建多个tar文件 每个不同的环境都有一个文件夹,其中只有一个文件“environment.properties”,因此我必须将项目内容与我的每个环境的environment.properties文件合并:RC、BC、PROD 我使用maven assembly插件来实现这一点,因此有3个与此程序集类似的程序集描述符,具有不同的“id”: 问题是,生成的3个文件具有相同的environment.properties文件,这是第一个确切的文件,因此我最终拥有3个完全

我需要在一个tar by环境包中创建多个tar文件

每个不同的环境都有一个文件夹,其中只有一个文件“environment.properties”,因此我必须将项目内容与我的每个环境的environment.properties文件合并:RC、BC、PROD

我使用maven assembly插件来实现这一点,因此有3个与此程序集类似的程序集描述符,具有不同的“id”:

问题是,生成的3个文件具有相同的environment.properties文件,这是第一个确切的文件,因此我最终拥有3个完全相同的包的文件

我假设组装过程使用一个目录来组成tar,因此它复制第一个文件,而对于第二个描述符,文件已经在那里了

有没有办法避免这种情况发生?在运行每个描述符之前进行清理? 我应该使用maven ant运行插件还是类似的东西


谢谢

通常一个maven工件意味着恰好一个输出文件。也许为每个tar创建3个独立的maven模块更有意义。此外,它还提供了更多的灵活性。

已经添加的
,跳过了插件2.2版的第一件事,您可以尝试v2.1。

如果描述符除了id之外是相同的,您在哪里指定要添加的属性文件?在每个描述符的最后一个文件集中,我有一个不同的“target/escape/{environment}”(示例中为RC)。注释掉前两个描述符时会发生什么情况,因此只有最后一个描述符在运行(prod描述符)。tar中是否有正确的属性文件?@BloodyWorld是的,在这种情况下,属性是正确的。如果这只影响这一个文件,您可以尝试使用
,而不是
。或者您可以尝试使用插件的2.1版。我并不完全同意这一点,我将使用更多的构件分类程序,如源代码、javadocs等等c、 @Germanán是的,这是一场圣战。但想象一下这样一种情况——为什么在开发环境中更改某些内容时,您应该触摸生产文件?
<assembly
    xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
    <id>pack-content-rc</id>
    <includeBaseDirectory>false</includeBaseDirectory>
    <formats>
        <format>tar</format>
    </formats>
    <fileSets>
        <fileSet>
            <outputDirectory>/definitions</outputDirectory>
            <directory>definitions</directory>
            <includes>
                <include>*.*</include>
            </includes>
            <excludes>
                <exclude>.*</exclude>
            </excludes>
        </fileSet>
        <fileSet>
            <outputDirectory>/library</outputDirectory>
            <directory>library</directory>
            <includes>
                <include>*.*</include>
            </includes>
            <excludes>
                <exclude>.*</exclude>
            </excludes>
        </fileSet>
        <fileSet>
            <outputDirectory>/messages</outputDirectory>
            <directory>messages</directory>
            <includes>
                <include>*.*</include>
            </includes>
            <excludes>
                <exclude>.*</exclude>
            </excludes>
        </fileSet>
        <fileSet>
            <outputDirectory>/templates</outputDirectory>
            <directory>templates</directory>
            <includes>
                <include>**/*</include>
            </includes>
            <excludes>
                <exclude>.*</exclude>
            </excludes>
        </fileSet>
        <fileSet>
            <outputDirectory>/variables</outputDirectory>
            <directory>variables</directory>
            <includes>
                <include>*.*</include>
            </includes>
            <excludes>
                <exclude>.*</exclude>
            </excludes>
        </fileSet>
        <fileSet>
            <outputDirectory>/variables</outputDirectory>
            <directory>target/escape/rc</directory>
            <includes>
                <include>*.*</include>
            </includes>
        </fileSet>      
    </fileSets>
</assembly>
...
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2.2</version>
<executions>
    <execution>
        <id>make-assembly</id>
        <phase>package</phase>
        <goals>
            <goal>single</goal>
        </goals>
        <configuration>
            <descriptors>
                <descriptor>pack-content-rc.xml</descriptor>
                <descriptor>pack-content-bc.xml</descriptor>
                <descriptor>pack-content-prod.xml</descriptor>
            </descriptors>
        </configuration>
    </execution>
</executions>
...
[INFO] --- maven-assembly-plugin:2.2.2:single (make-assembly) @ nibbler-content ---
[INFO] Reading assembly descriptor: pack-content-rc.xml
[INFO] Reading assembly descriptor: pack-content-bc.xml
[INFO] Reading assembly descriptor: pack-content-prod.xml
[INFO] nibbler-content-19.0.1-SNAPSHOT-rc/variables/environment.properties already added, skipping
[INFO] Building tar : /Users/ger/Documents/Work/nibbler-content/target/nibbler-content-19.0.1-SNAPSHOT-pack-content-rc.tar
[INFO] nibbler-content-19.0.1-SNAPSHOT-rc/variables/environment.properties already added, skipping
[INFO] nibbler-content-19.0.1-SNAPSHOT-bc/variables/environment.properties already added, skipping
[INFO] Building tar : /Users/ger/Documents/Work/nibbler-content/target/nibbler-content-19.0.1-SNAPSHOT-pack-content-bc.tar
[INFO] nibbler-content-19.0.1-SNAPSHOT-bc/variables/environment.properties already added, skipping
[INFO] nibbler-content-19.0.1-SNAPSHOT-prod/variables/environment.properties already added, skipping
[INFO] Building tar : /Users/ger/Documents/Work/nibbler-content/target/nibbler-content-19.0.1-SNAPSHOT-pack-content-prod.tar
[INFO] nibbler-content-19.0.1-SNAPSHOT-prod/variables/environment.properties already added, skipping
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------