0

我的 pom 文件的包装是 pom。

我想将生成的 jar 和 pom 文件上传到存储库,如下所示。

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-deploy-plugin</artifactId>
            <version>2.7</version>
            <executions>
                <execution>
                    <id>default-cli</id>
                    <phase>package</phase>
                    <goals>
                        <goal>deploy-file</goal>
                    </goals>
                    <configuration>
                        <file>target/${artifactId}-${version}.jar</file>
                        <repositoryId>SERVER-Snapshots</repositoryId>
                        <url>https://test.nexsus.com/content/repositories/snapshots/</url>
                    </configuration>
                </execution>
            </executions>
        </plugin>

我收到以下错误。

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:
deploy-file (default-cli) on project xxx: The artifact information is inco
mplete or not valid:
[ERROR] [0]  'groupId' is missing.
[ERROR] [1]  'artifactId' is missing.
[ERROR] [2]  'version' is missing.
[ERROR] -> [Help 1]

还有jar打包pom部署文件如jar、sha1、md5、pom和zip。我怎样才能排除其中一些?

4

4 回答 4

2

您不能使用 pom 中的 deploy:deploy-file。要部署其他文件,请使用构建助手将它们作为附加工件附加到当前项目。

于 2013-07-31T01:11:59.637 回答
1

如果您只想将工件上传到本地存储库管理器,您只需在 POM 中配置它,如下所示:

<distributionManagement>
    <repository>
        <id>releases</id>
        <name>Releases</name>
        <url>https://test.nexsus.com/content/repositories/releases/</url>
    </repository>
    <snapshotRepository>
        <id>snapshots</id>
        <name>Snapshots</name>
        <url>https://test.nexsus.com/content/repositories/snapshots/</url>
    </snapshotRepository>
</distributionManagement>

然后执行mvn deploy.

于 2013-08-01T07:55:30.050 回答
0

部署插件需要已部署文件的 GAV 信息。如果您添加以下配置,它可以从您当前的 pom 中提取它们:

<pomFile>pom.xml</pomFile>

于 2014-03-14T12:42:08.650 回答
0

还有jar打包pom部署文件如jar、sha1、md5、pom和zip。我怎样才能排除其中一些?

找出是什么产生了不需要的工件,如果不产生它们就停止。默认情况下,jar 模块应该生成 jar、pom、md5 和 sha1 文件。其他东西正在生成该 zip(可能是 Maven 程序集插件?),因此如果您不想要它,请禁用该“其他东西”。

AFAIK,没有办法配置deploy:deploy不从模块部署一些工件。只能使用该skip参数从该模块部署任何内容。

于 2013-08-01T07:49:00.673 回答