微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

maven-assembly-plugin - “useProjectArtifact”实际上是做什么的?

如何解决maven-assembly-plugin - “useProjectArtifact”实际上是做什么的?

我正在尝试将一个旧项目带到 maven 以简化构建和部署过程。

项目中有一组java类,需要将三组不同的资源捆绑到三个不同的.jar中。

试图遵循这个:How to maven release multiple profiles project when redeploys are disabled 我正在尝试使用 maven-assembly-plugin,在资源的 assembly.xml 中使用三个执行。

我希望在生成的 jar 中没有任何依赖项,只有我的类和我的资源。 我加了

   <dependencySets>
        <dependencySet>
            <unpack>true</unpack>
            <useProjectArtifact>true</useProjectArtifact>
        </dependencySet>
    </dependencySets>

到我的 assembly.xml 认为不使用任何 <includes><excludes> 这只会将我自己的类添加到 .jar,而现在我在 .jar 中也有所有依赖项。如果我删除它,我根本就没有任何课程 - 甚至没有我自己的课程。我想要一个 .jar,它只有我自己的类,但没有 pom 中的依赖项。

我认为我误解了 useProjectArtifact 的用途?

我可以在不使用所有依赖项的情况下实现我想要的吗?还是 maven-assembly-plugin 不合适?

提取pom.xml

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>3.3.0</version>
        <executions>
            <execution>
                <id>bundle-1</id>
                <phase>package</phase>
                <goals>
                    <goal>single</goal>
                </goals>
                <configuration>
                    <descriptors>                    
                       <descriptor>${project.basedir}/path/to/assembly.xml</descriptor>
                    </descriptors>
                </configuration>
            </execution>
            <execution>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。