在 CODING 中使用 Maven 制品库
该文档介绍如何将 Maven 类型的制品存储在 CODING 制品库中。其内容包括创建制品库、推送和拉取制品。
创建制品仓库
进入项目,在左侧栏选择【制品库】,再点击【创建仓库】。
- 仓库类型选中 Maven
- 提供一个仓库名称
- 提供一段仓库描述(非必填)
- 决定当前创建的制品仓库对不同类型角色的操作权限,默认将对当前项目成员开放推送和拉取操作。
- 准备就绪,点击【确认新建】
配置认证信息
在对 CODING 制品仓库进行推送或拉取操作之前,需要配置认证信息。
您有两种方式可以配置认证信息:
- 在 settings.xml 文件当中配置访问令牌。
- 在 settings.xml 文件当中配置 CODING 帐户与密码。
推荐使用访问令牌生成认证的配置信息。
不知道 Maven 的 settings.xml 配置文件在哪儿找?点此查看常见问题解答
方式一:使用访问令牌生成配置
- 在仓库的指引页面点击【使用访问令牌生成配置】,在弹窗提示中输入帐号登录密码。
- 复制生成的配置,添加到您的 settings.xml 相应配置中。
方式二:手动配置帐号密码
在仓库的指引页面,复制下列配置,并将下方的 「PASSWORD」 替换成您的登录密码,填入您的 settings.xml 即可。
编译 Maven 制品并上传
以一个简单的 demo 为例,我们希望把这个 demo 的 Maven 包推送到上述步骤中创建好的 Maven 仓库中。
- 在仓库的指引页面,复制下列配置到项目的 pom.xml 文件当中。
通常一个 Maven 项目当中已有 groupId、artifactId、version 的配置,只将 distributionManagement 拷贝进去即可。
- 执行 mvn deploy 命令。
mvn deploy
若提示未找到 settings.xml 文件,在命令末尾加上 -s 参数来设置您放置 settings 文件的路径,代入参数后:
mvn deploy -s "/Users/somebody/software/apache-maven-3.6.2/conf/settings.xml"
- mvn 命令提示 build success 后,刷新制品仓库页面,即可看到最新推送上来的制品。
上传无源码的 Maven 包
如果第三方 Maven 包未正规发布到网络仓库,而且仅提供 jar 包,未提供源码或者源码编译报错,那我们可以把 jar 包直接上传到仓库,命令如下:
mvn deploy:deploy-file -Durl=file://C:\m2-repo \
-DrepositoryId=some.id \
-Dfile=your-artifact-1.0.jar \
[-DpomFile=your-pom.xml] \
[-DgroupId=org.some.group] \
[-DartifactId=your-artifact] \
[-Dversion=1.0] \
[-Dpackaging=jar] \
[-Dclassifier=test] \
[-DgeneratePom=true] \
[-DgeneratePom.description="My Project Description"] \
[-DrepositoryLayout=legacy]
如果第三方提供了 pom.xml
,可以从中读取 group、artifact、version 等字段,比如「微信云支付 Java SDK」使用下列命令:
mvn deploy:deploy-file --settings ./settings.xml -Durl=https://coding-public-maven.pkg.coding.net/repository/tencent-cloud-pay-sdk-java/tencent/ \
-DrepositoryId=coding-public-tencent-cloud-pay-sdk-java-tencent \
-Dfile=../cloudpay.jar \
-DpomFile=pom.xml
微信云支付 Java SDK 上传 jar 包列表页面。
拉取 Maven 制品
- 在仓库的指引页面,复制配置到 settings.xml 当中,比如「微信云支付 Java SDK」的配置如下:
<settings>
<!-- omitted xml -->
<profiles>
<profile>
<id>Repository Proxy</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>coding-public-tencent-cloud-pay-sdk-java-tencent</id>
<name>tencent</name>
<url>https://coding-public-maven.pkg.coding.net/repository/tencent-cloud-pay-sdk-java/tencent/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
</settings>
- 在您的 Java 项目的
pom.xml
中配置依赖包(dependencies 标签),比如依赖「微信云支付 Java SDK」的配置如下:
<project>
<dependencies>
<dependency>
<groupId>com.tencent</groupId>
<artifactId>cloudpay</artifactId>
<version>1.6</version>
</dependency>
</dependencies>
</project>
- 编译项目
mvn install -s ./settings.xml
执行过程您可以看到包被正常拉取下来,也可以在执行完成后在本地 maven 缓存看到拉取下来的包:

感谢反馈有用
感谢反馈没用