Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/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
Java 在maven中运行多个概要文件以构建zip,但面临一些依赖性问题_Java_Maven_Maven Assembly Plugin - Fatal编程技术网

Java 在maven中运行多个概要文件以构建zip,但面临一些依赖性问题

Java 在maven中运行多个概要文件以构建zip,但面临一些依赖性问题,java,maven,maven-assembly-plugin,Java,Maven,Maven Assembly Plugin,我正在尝试创建两个zip文件,一个用于测试,另一个用于生产。 xml如下所示 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"&

我正在尝试创建两个zip文件,一个用于测试,另一个用于生产。 xml如下所示

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.abc</groupId>
    <version>1.0.0</version>
    <artifactId>abc</artifactId>
    <packaging>pom</packaging>


    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>a.abc</groupId>
                <artifactId>abc1</artifactId>
                <version>1.0.0</version>
            </dependency>
            <dependency>
                <groupId>a.abc</groupId>
                <artifactId>abc2</artifactId>
                <version>1.0.0</version>
            </dependency>
            <dependency>
                <groupId>a.abc</groupId>
                <artifactId>abc3</artifactId>
                <version>1.0.0</version>
            </dependency>

            <dependency>
                <groupId>b.xyz</groupId>
                <artifactId>xyz1</artifactId>
                <version>1.0.0</version>
            </dependency>
            <dependency>
                <groupId>b.xyz</groupId>
                <artifactId>xyz2</artifactId>
                <version>1.0.0</version>
            </dependency>
            <dependency>
                <groupId>b.xyz</groupId>
                <artifactId>xyz3</artifactId>
                <version>1.0.0</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <build>
        <finalName>app-${project.version}</finalName>
    </build>
    <profiles>
        <profile>
            <id>test</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-assembly-plugin</artifactId>
                        <version>2.4</version>
                        <configuration>
                            <appendAssemblyId>true</appendAssemblyId>
                            <!-- <finalName>${project.name}</finalName> -->
                        </configuration>
                        <executions>
                            <execution>
                                <id>app-package-test</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>single</goal>
                                </goals>
                                <configuration>
                                    <descriptor>src/main/assembly/test-descriptor.xml</descriptor>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>

            </build>

            <dependencies>
                <dependency>
                    <groupId>a.abc</groupId>
                    <artifactId>abc1</artifactId>
                    <version>1.0.0</version>
                </dependency>
                <dependency>
                    <groupId>a.abc</groupId>
                    <artifactId>abc2</artifactId>
                    <version>1.0.0</version>
                </dependency>
                <dependency>
                    <groupId>a.abc</groupId>
                    <artifactId>abc3</artifactId>
                    <version>1.0.0</version>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>production</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-assembly-plugin</artifactId>
                        <version>2.4</version>
                        <configuration>
                            <appendAssemblyId>true</appendAssemblyId>
                            <finalName>${project.name}</finalName>
                        </configuration>
                        <executions>
                            <execution>
                                <id>app-package-production</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>single</goal>
                                </goals>
                                <configuration>
                                    <descriptor>src/main/assembly/production-descriptor.xml</descriptor>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
            <dependencies>
                <dependency>
                    <groupId>b.xyz</groupId>
                    <artifactId>xyz1</artifactId>
                    <version>1.0.0</version>
                </dependency>
                <dependency>
                    <groupId>b.xyz</groupId>
                    <artifactId>xyz2</artifactId>
                    <version>1.0.0</version>
                </dependency>
                <dependency>
                    <groupId>b.xyz</groupId>
                    <artifactId>xyz3</artifactId>
                    <version>1.0.0</version>
                </dependency>
            </dependencies>
        </profile>
    </profiles>
</project>

4.0.0
com.abc
1.0.0
abc
聚甲醛
a、 abc
abc1
1.0.0
a、 abc
abc2
1.0.0
a、 abc
abc3
1.0.0
b、 xyz
xyz1
1.0.0
b、 xyz
xyz2
1.0.0
b、 xyz
xyz3
1.0.0
app-${project.version}
测试
真的
maven汇编插件
2.4
真的
应用程序包测试
包裹
单一的
src/main/assembly/test-descriptor.xml
a、 abc
abc1
1.0.0
a、 abc
abc2
1.0.0
a、 abc
abc3
1.0.0
生产
真的
maven汇编插件
2.4
真的
${project.name}
应用程序包制作
包裹
单一的
src/main/assembly/production-descriptor.xml
b、 xyz
xyz1
1.0.0
b、 xyz
xyz2
1.0.0
b、 xyz
xyz3
1.0.0
但是,当我运行mvn clean install时,它将从

<activation>
       <activeByDefault>true</activeByDefault>
</activation>

真的
但最终捆绑拉链同时包含配置文件测试生产

我需要profiletest生成的zip与testprofile相关,profileproduction生成的zip与productionprofile相关


有人知道为什么会发生这种情况吗?

如果两个配置文件都处于活动状态,那么两个配置文件依赖项都包含在ZIP中是合乎逻辑的,因为您的构建默认会激活两个配置文件。要获得只包含生产依赖项的ZIP,只需启动
mvn clean install-Pproduction
,如果两个配置文件都处于活动状态,那么将两个配置文件依赖项都包含在ZIP中是合乎逻辑的,因为您的构建默认会激活两个配置文件。要获得只包含生产依赖项的ZIP,只需启动
mvn clean install-Pproduction