我如何创建一个包含我的jar-with-dependacies以及其他文件的tar文件?

问题描述 投票:0回答:1

当前,我可以创建一个包含我的jar和其他文件的tar,但是由于jar-with-dependancies是在tar文件之后构建的,因此不包括在内。如何使Maven首先构建具有依赖关系的jar,以便将其包含在tar中?

pom:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>3.1.0</version>
            <configuration>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>

                <descriptors>
                    <descriptor>src/assembly/bin.xml</descriptor>
                </descriptors>
                <finalName>JAR-NAME-${project.version}</finalName>
            </configuration>
            <executions>
                <execution>
                    <id>make-assembly</id>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

bin.xml:

<assembly>
    <id>bin</id>

    <formats>
        <format>tar.gz</format>
    </formats>

    <fileSets>
        <fileSet>
            <directory>target</directory>
            <outputDirectory>bin</outputDirectory>
            <includes>
                <include>JAR-NAME-*.jar</include>
            </includes>
        </fileSet>

        <fileSet>
            // Unrelated files
        </fileSet>

        <fileSet>
            // Unrelated files
        </fileSet>
    </fileSets>
</assembly>
maven maven-assembly-plugin
1个回答
0
投票

好吧,看起来您可以通过将两个步骤分成自己的执行标签来控制构建的顺序,如下所示:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>3.1.0</version>
            <executions>
                <execution>
                    <id>jar-with-dependencies</id>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                    <configuration>
                        <descriptorRefs>
                            <descriptorRef>jar-with-dependencies</descriptorRef>
                        </descriptorRefs>
                        <finalName>JAR-NAME-${project.version}</finalName>
                    </configuration>
                </execution>

                <execution>
                    <id>make-assembly</id>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                    <configuration>
                        <descriptors>
                            <descriptor>src/assembly/bin.xml</descriptor>
                        </descriptors>
                        <finalName>JAR-NAME-${project.version}</finalName>
                    </configuration>
                </execution>
            </executions>
        </plugin>
© www.soinside.com 2019 - 2024. All rights reserved.