首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我想上传一个JAR到一个GitLab包注册表

我想上传一个JAR到一个GitLab包注册表
EN

Stack Overflow用户
提问于 2021-06-01 21:25:02
回答 1查看 2.6K关注 0票数 2

我有一个预先构建好的JAR文件,我想把它上传到GitLab包注册表中,这样它就可以在执行构建时使用。

这是我第一次和Maven玩,上传这样的新手警报!

在我的GitLab项目中,我确实看到了一个名为“包注册表”的部分。我想我需要把它上传到那里。

我找到了下面的命令,我认为它可以起作用:

代码语言:javascript
复制
mvn deploy:deploy-file -DgroupId=com.acme.group -DartifactId=project-name \
-Dversion=1.2.3 -Dpackaging=jar -Dfile="test.jar" \
-Durl=https://gitlab-np-services.com/Ernie/ernie-sandbox-1/-/packages
-DrepositoryId=project-name 

我不知道怎么写"DrepositoryId","DartifactId“。我在我的作品中假设的另一个领域。

我怎么知道该在这些领域里放些什么?

我运行它并得到以下信息:

代码语言:javascript
复制
Uploading to remote-repository: https://gitlab-np.services.com/Ernie/ernie-sandbox-1/-/packages/com/acme/group/project-name/1.2.3/project-name-1.2.3.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  3.793 s
[INFO] Finished at: 2021-06-01T15:51:09-05:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy-file (default-cli) on project standalone-pom: Failed to deploy artifacts: Could not transfer artifact com.acme.group:project-name:jar:1.2.3 from/to remote-repository (https://gitlab-np-services.com/Ernie/ernie-sandbox-1/-/packages): transfer failed for https://gitlab-np.services.com/Ernie/ernie-sandbox-1/-/packages/com/acme/group/project-name/1.2.3/project-name-1.2.3.jar, status: 422 Unprocessable Entity -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
vanduyne-16mb:ernie-sandbox-1 vanduyer$ -DrepositoryId=project-name 
bash: -DrepositoryId=project-name: command not found
Perhaps I need to allow permissions to upload to that location in GitLab - which I have no clue how to do.

我应该把它上传到那里吗?

我试过查看Maven站点和其他站点,以了解如何做到这一点,但我无法为新手找到解释这一点的东西。

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

发布于 2021-06-03 05:49:39

下面我将列举几个问题。

  • 首先,在第三行末尾缺少一个\。因此,-DrepositoryId=project-name参数没有传递给mvn deploy命令。
  • 接下来,您需要决定要部署工件的哪个级别?您可以在Gitlab的官方文档(Maven包的GitLab端点)上阅读更多有关级别的信息。这些地址导致/packages/maven,但您在URL中缺少了/maven令牌。(https://gitlab-np-services.com/Ernie/ernie-sandbox-1/-/packages)
  • 如果没有在repositoryId文件中配置任何server,则不需要传递settings.xml。如果您配置了它,那么您可以使用定义的Id。因此,Maven可以使用settings.xml文件中的配置。您可以在Maven的官方文档:repositoryIdrepositoryId上阅读更多关于Maven的信息
  • groupIdartifactId参数是定义如何从存储库导入工件的必需参数。我建议您使用相同的groupId和配置在工件的pom.xml文件中的artifactId。如果使用groupId=com.groupartifactId=artifact-id部署包,则可以将工件导入到项目中,如下所示: com.group神器.

我建议阅读更多关于部署到Gitlab的Maven存储库的信息,因为您还必须配置身份验证部分:软件包库中的Maven包

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67796186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档