maven - 有时有效的 Maven 存储库
问题描述
我在 github 上托管了一个 java 项目。该项目位于此处。
该项目实际上只是一个 java 库,我想为它创建一个 maven 存储库。因为这很棘手,所以我按照指南解释了要遵循的项目结构。他应用了一个技巧:创建一个名为“repository”的第二个分支。如您所见,jar 文件在那里。
一切顺利,我进行了第一次构建,然后创建了一个 java“Hello World”项目来测试我是否可以使用这个新的 maven 依赖项。因此,我创建了一个带有依赖项的 pom 文件:
<dependency>
<groupId>brugo</groupId>
<artifactId>brugo</artifactId>
<version>0.1.0</version>
</dependency>
为了告诉 maven 在哪里可以找到这个依赖项,我添加了这个:
<repositories>
<repository>
<id>brugo</id>
<url>https://github.com/brugo/brugo/raw/repository/</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
</repositories>
好消息:有时它有效。坏事:有时它不起作用。
我正试图找出可能出了什么问题。这就是 IntelliJ 出现问题时的样子:
我已经看到了这个错误信息:
[ERROR] Failed to execute goal on project xxx:
Could not resolve dependencies for project xxx:
Could not find artifact brugo:brugo:jar:0.1.0 in
brugo (https://github.com/brugo/brugo/raw/repository/) -> [Help 1]
我尝试了mvn clean install -U
几次,但没有成功。
昨天我在另一台计算机上遇到了同样的问题,然后突然我在不知道怎么做的情况下让它工作。
解决方案
特别感谢@wargre 为我指明了这个方向。将其设置为直接在中央 maven 存储库中确实更容易(也更方便)。
http://central.sonatype.org/pages/ossrh-guide.html解释了所有必需的步骤。下面做一个总结。
第一次发布:
- 创建 JIRA 帐户和项目
pom.xml
在文件中添加插件- 将更多元数据添加到
pom.xml
- 下载/安装 GPG 并创建密钥
- 创建一个
settings.xml
包含您的凭据。 - 跑
mvn clean deploy
- 在暂存存储库中验证结果
- 高兴时释放,不满意时放弃并重试。
- 在 JIRA 票证上发表评论
- 在 Maven 中央存储库中欣赏结果。
连续发布:
- 更新版本号
pom.xml
- 跑
mvn clean deploy
- 释放(手动/自动)
推荐阅读
- javascript - 如何在jquery中打开一个div单击两个按钮依次单击
- r - 如何将分类变量转换为 R 中的多个虚拟变量?
- pandas - Pandas.rolling().median 与 Scipy.signal.medfilt()
- java - 对我的所有 Volley 请求使用自定义标头的问题
- unit-testing - 在 Kotlin 中编写单元测试时 IntelliJ 显示错误消息
- ffmpeg - 以背景为中心连续旋转图像
- java - Postman 状态:401 Unauthorized - 使用 Postman 作为连接到 SQL 数据库的 java 应用程序的客户端
- azure - Azure BLOB 存储生命周期管理 - 追加 Blob 与块 Blob
- reactjs - TypeError .map() 不是函数
- jenkins - Jenkins发布构建脚本永远加载