首页 > 解决方案 > 执行maven Assembly插件的问题

问题描述

我有一个 Maven 多模块项目。Child-Project A 应该被打包为一个 WAR 和一个 fat JAR。

为此,我在 A 的 POM 中定义:

 <packaging>war</packaging>

我使用了我绑定到包阶段的程序集插件:

<plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>3.2.0</version>
            <configuration>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>
            <executions>
                <execution>
                    <id>make-assembly</id> <!-- this is used for inheritance merges -->
                    <phase>package</phase> <!-- append to the packaging phase. -->
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

使用命令行,当我转到项目 A 并运行时

mvn clean package

一切正常。但是当我在 IntelliJ 中使用 maven 菜单并传递相同的命令时,生成的 JAR 中缺少一些类。我不明白为什么相同的命令会产生不同的结果。有人可以帮助我理解这一点吗?

标签: mavenmaven-assembly-plugin

解决方案


推荐阅读