gpt4 book ai didi

java - Maven打包有效pom

转载 作者:搜寻专家 更新时间:2023-11-01 02:05:57 25 4
gpt4 key购买 nike

我有一个包含许多子模块的 Maven 项目。其中一些子模块被打包为部署到 Nexus Maven 存储库的 jar。

我遇到的问题是打包的 jar 引用了不一定部署的父 pom。

有没有办法让 Maven 部署有效的 pom 而不是 pom.xml

最佳答案

你需要完全清楚你想做的事情的后果:the effective POM还将包含您当前的设置(settings.xml 的内容),因此可能会公开公开您在其中硬编码的任何密码。 更好的解决方案是仅部署父 POM

但是,如果你真的想走那条路,你可以有以下配置:

<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<addMavenDescriptor>false</addMavenDescriptor>
</archive>
</configuration>
</plugin>
<plugin>
<artifactId>maven-help-plugin</artifactId>
<version>2.1.1</version>
<executions>
<execution>
<phase>generate-resources</phase>
<goals>
<goal>effective-pom</goal>
</goals>
<configuration>
<output>${project.build.outputDirectory}/META-INF/maven/${project.groupId}/${project.artifactId}/pom.xml</output>
</configuration>
</execution>
</executions>
</plugin>

这告诉 maven-jar-plugin不要添加 Maven descriptor pom.xmlpom.properties 到 jar。相反,pom.xml 是由 maven-help-plugin 生成的及其 effective-pom目标。

如果您还需要pom.properties 文件,则需要使用maven-antrun-plugin 手动创建它。 .

关于java - Maven打包有效pom,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33365633/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com