[英]How to deploy the sources file with the jar using deploy:deploy-file
我有以下插件用于创建-sources.jar
并将特定命名的 jar 部署到存储库。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.5</version>
<configuration>
<version>${project.version}-r${buildNumber}</version>
<classifier>${env}</classifier>
<packaging>jar</packaging>
<file>${project.build.directory}/${project.build.finalName}.jar</file>
<url>${artifactory.url}/libs-release-local</url>
<repositoryId>artifactory.digiterre.com</repositoryId>
<pomFile>${project.basedir}/pom.xml</pomFile>
</configuration>
</plugin>
我希望同时部署*-sources.jar
。 我尝试添加第二个文件条目,甚至第二个部署插件。 我似乎部署了一个或其他文件。
是否可以使用deploy:deploy-file
一次性部署两者,或者我是否必须设置第二个团队城市构建才能部署源?
当您使用maven-source-plugin
,生成的 jar 将自动附加到项目工件( 此参数的默认设置为 'true'),如果您执行deploy
,它将与它一起部署。 唉,不需要单独配置部署插件。
不幸的是,您不能将分类器(在您的情况下${env}
)添加到源 jar 中。 这就是为什么我会使用以下配置:
...
<artifactId>com.pie.mash.repo.mince-${env}</artifactId>
<version>1.18-r${buildNumber}</version>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.1.2</version>
<executions>
<execution>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
另外,我在 SO 上发现了这个问题。 您可以使用那里建议的解决方法。
我们可以使用deploy:deploy-file
沿着主 JAR 工件上传多个 JAR(源、测试、文档)。 我们只需要为deploy:deploy-file
插件调用提供额外的信息。 添加的内容在以下命令中以粗体显示:
mvn 部署:部署文件
-Dfile=helloWorld.jar
-Durl=https://localhost/nexus/content/repositories/snapshots/
-DrepositoryId=快照
-Dfiles=helloWorld-6.4.1.3.SNAPSHOT-sources.jar,helloWorld-6.4.1.3.SNAPSHOT-tests.jar
-Dtypes=jar,jar -Dclassifiers=sources,tests
-DgroupId=com
-DartifactId=helloWorld
-Dversion=6.4.1.3.SNAPSHOT
-Dpackaging=jar
-Dpomfile=pom.xml
mvn deploy:deploy-file
仅部署单个工件。 相反,您可以使用mvn deploy
(调用mvn deploy:deploy
)来部署工件、它的 pom 以及附加的工件(如源和 javadoc)。 请参阅maven deploy plugin的目标概述。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.