Java开发中Maven是必不可少的,对于团队开发,那么私有仓库更是必须使用的,最近在使用腾讯出品的Coding,它的制品仓库还不错,纯开发的代码上传制品仓库倒是很方便,但对于像Taobao-sdk这样的文件就只能手动上传了。
setting.xml
对于私有仓库都是需要自己去配置setting.xml文件的
配置凭证
<!-- 一般情况 maven 的通用 settings.xml 在 .m2 文件夹下, 项目内 settings.xml 也可以进行设置,优先级更高 -->
<settings>
<!-- omitted xml -->
<!-- 请妥善保管好您的配置,不要随意分享给他人 -->
<servers>
<server>
<id>jalena-prod</id> <!--记住这个ID,手动上传时需要用到-->
<username>jalena</username>
<password>[PASSWORD]</password>
</server>
</servers>
</settings>
配置拉取
如果已有配置,酌情修改
<settings>
<!-- omitted xml -->
<profiles>
<profile>
<id>Repository Proxy</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>jalena-prod</id>
<name>prod</name>
<url>https://jalena-maven.pkg.coding.net/repository/xxx/prod/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
</settings>
手动上传
maven提供的mvn
命令还是很强大的,手动上传则需要使用mvn deploy:deploy-file
进行。
必需参数
名字 | 类型 | 描述 |
---|---|---|
file | File | 要部署的文件 |
repositoryId | String | setting.xml中<server>部分下的<id>名称 |
url | String | 将部署项目的 URL。 |
可选参数
name | description |
---|---|
<artifactId> | 定义组件id |
<classifier> | classifier通常用于区分从同一POM构建的具有不同内容的构件(artifact)。它是可选的,它可以是任意的字符串 |
<classifiers> | 批量部署组件时使用,逗号分隔,数量必须与files 和types对应 |
<description> | 描述信息 |
<files> | 批量部署组件时使用,逗号分隔,数量必须与classifiers 和types对应 |
<generatePom> | 生成pom文件,默认为true,只会生成一个最简单的pom,缺少依赖,会导致依赖该组件的服务无法获取组件的依赖 |
<groupId> | 组件的groupid,如果指定了,会从pom检索 |
<javadoc> | api文档 |
<packaging> | 打包方式,如果置顶了pom,则会从pom中读取,如果没有再命令行或者pom中指定,则默认为文件的扩展名 |
<pomFile> | 指定本地pom文件作为组件的pom |
<retryFailedDeploymentCount> | 部署失败后的重试次数rang(1,10),默认1 |
<sources> | 组件源码 |
<types> | 批量部署组件时使用,数量必须与classifiers 和files对应 |
<uniqueVersion> | maven 3 之后弃用该参数 |
<version> | 组件版本号 |
手动上传
mvn deploy:deploy-file -DgroupId=com.taobao -DartifactId=taobao-sdk -Dversion=20210413 -Dpackaging=jar -Dfile=./com.taobao-taobao-sdk-20210413.jar -Dsources=./com.taobao-taobao-sdk-20210413-source.jar -Durl=https://jalena-maven.pkg.coding.net/repository/xxx/prod/ -DrepositoryId=jalena-prod
文章评论