Maven:如何在没有任何项目特定设置(如父pom或scm)的情况下发布工件?

时间:2012-03-29 08:29:48

标签: maven maven-release-plugin

我的任务是构建应该发送给客户的应用程序的工件。工件是一个客户端jar,可用于访问服务器上的ejb应用程序。

由于它是由多模块项目构建的,因此工件的pom包含对父pom和scm信息的引用,这些信息不应发送给客户。

是否有一种maven方式来删除这些信息,或者在父pom的情况下,解析父pom并将其数据直接包含在client-jar的pom中。 客户将无法访问我们的实习生maven存储库。

1 个答案:

答案 0 :(得分:0)

您可以从META-INF中删除所有信息,请参阅:

<plugins>
            <plugin>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <archive>
                        <addMavenDescriptor>false</addMavenDescriptor>
                    </archive>
                </configuration>
            </plugin>
        </plugins>

你可以使用maven assembly插件(或shade)来构建包含所有依赖项的jar文件。