我们在hudson上使用了Maven发布插件,并试图实现发布过程的自动化。发布:准备工作正常。当我们尝试执行release:perform时,它会失败,因为它尝试将源工件两次上载到存储库。
我尝试过的事情
它仍然会吐出此错误。
[INFO] [DEBUG] Using Wagon implementation lightweight from default mapping for protocol http
[INFO] [DEBUG] Using Wagon implementation lightweight from default mapping for protocol http
[INFO] [DEBUG] Checking for pre-existing User-Agent configuration.
[INFO] [DEBUG] Adding User-Agent configuration.
[INFO] [DEBUG] not adding permissions to wagon connection
[INFO] Uploading: http://xx.xx.xx.xx:8081/nexus/content/repositories/releases//com/yyy/xxx/hhh/hhh-hhh/1.9.40/hhh-hhh-1.9.40-sources.jar
[INFO] 57K uploaded (xxx-xxx-1.9.40-sources.jar)
[INFO] [DEBUG] Using Wagon implementation lightweight from default mapping for protocol http
[INFO] [DEBUG] Using Wagon implementation lightweight from default mapping for protocol http
[INFO] [DEBUG] Checking for pre-existing User-Agent configuration.
[INFO] [DEBUG] Adding User-Agent configuration.
[INFO] [DEBUG] not adding permissions to wagon connection
[INFO] Uploading: http://xx.xxx.xx.xx:8081/nexus/content/repositories/releases//com/xxx/xxxx/xxx/xxx-xxx/1.9.40/xxx-xxx-1.9.40-sources.jar
[INFO] [DEBUG] Using Wagon implementation lightweight from default mapping for protocol http
[INFO] [INFO] ------------------------------------------------------------------------
[INFO] [ERROR] BUILD ERROR
[INFO] [INFO] ------------------------------------------------------------------------
[INFO] [INFO] Error deploying artifact: Authorization failed: Access denied to: http://xx.xxx.xx.xx:8081/nexus/content/repositories/releases/com/xxx/xxx/xxx/xxx-config/1.9.40/xxx-xxx-1.9.40-sources.jar
对此的任何帮助将不胜感激。
尝试跑步mvn -Prelease-profile help:effective-pom
。您会发现您有两个执行部分maven-source- plugin
输出将如下所示:
<plugin> <artifactId>maven-source-plugin</artifactId> <version>2.0.4</version> <executions> <execution> <id>attach-sources</id> <goals> <goal>jar</goal> </goals> </execution> <execution> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin>
要解决此问题,请找到您使用过的所有地方maven-source-plugin
,并确保使用“ id”附加源,使其与发布配置文件相同。然后这些部分将被合并。
最佳实践表明,要获得一致性,您需要在项目的根POM中的build> pluginManagement中而 不是
在子poms中进行配置。在子pom中,您只需在build> plugins中指定要使用maven-source-plugin,但不提供执行。
在房间pom.xml中:
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<!-- This id must match the -Prelease-profile id value or else sources will be "uploaded" twice, which causes Nexus to fail -->
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
在子pom.xml中:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
</plugin>
</plugins>
</build>
问题内容: 当我尝试部署应用程序时,出现以下错误: 问题答案: 您必须在MAVEN_HOME / conf / settings.xml节服务器中验证您的凭据 id必须与pom.xml中的分发管理中的id匹配
问题内容: 我正在尝试使用Maven版本插件2.0标记版本,并希望将生成的jar部署到存储库。 我被困住了,得到这个神秘的错误: 标签文件夹确实存在并且为空 我执行了命令以确保重新运行 每次遇到错误时,我都会执行以使一切恢复正常 看来这不是一个凭证问题,pom文件已被有效删除,并且scm信息已切换到tag文件夹。 奇怪的是,我不了解如何提交pom文件,因为我既未在pom中也未在maven本地安装中
我有一个简单的POM(见下文)。当我执行mvn部署时,我得到这个错误: [错误]无法执行目标组织。阿帕奇。专家plugins:maven deploy plugin:2.7:project piccolotest上的部署(默认部署):部署失败:未在POM inside distributionManagement元素或-DaltDeploymentRepository=id::layout::ur
我是的长期用户,如果单元测试失败,它将不会发布(也就是将JAR部署到maven repo)。 出于各种原因,我只想使用maven deploy插件,但显然,即使中存在测试失败,我仍将部署该插件。 结果而不只是 编辑它似乎是詹金斯的问题..不能繁殖 我不确定Jenkins为什么或如何强制maven构建在测试失败时继续(我假设这是为了报告),但它没有显示为使其继续而传递的任何选项。这似乎只有当詹金斯说
我试图使用maven shade插件构建uber jar(构建docker映像),并将项目jar部署到maven存储库。我不想将uber jar部署到maven Repo。因此,要么我需要能够从maven deploy插件中排除特定文件,要么让maven shade插件将uber jar放在不同的位置,这样deploy插件就不会接收到它。 这两件事都有可能吗?
经过几天的研究,接近自杀倾向在这里我的问题,真的真的希望我太愚蠢了,不能自己找到问题.... 安装程序: Windows7 / 专家 3.2.3 / jdk 1.7.0_60 (64 位) / 人工 3.5.0 问题: - mvn 全新安装部署 -- 干杯 j. 日志: SETTINGS.XML POM.XML http://maven.apache.org/xsd/maven-4.0.0.xsd