赞
踩
1. repositorie 结构说明
repositorie 表示下载项目依赖库文件的maven仓库地址
<repositories> <repository> <!-- 仓库ID --> <id>nexus</id> <!-- 仓库名称 --> <name>Nexus</name> <!-- 仓库地址 --> <url>http://192.168.1.x:xxxx/repository/maven-public/</url> <!-- 仓库中版本为releases的构件 --> <releases> <!-- 是否支持更新--> <enabled>true</enabled> <!-- 构件更新的策略,可选值有daily, always, never, interval:X(其中的X是一个数字,表示间隔的时间,单位min),默认为daily--> <updatePolicy>always</updatePolicy> <!-- 校验码异常的策略,可选值有ignore, fail, warn --> <checksumPolicy>warn</checksumPolicy> </releases> <!-- 仓库版本为snapshots的构件--> <snapshots> <!-- 是否支持更新--> <enabled>true</enabled> <!-- 同上 --> <updatePolicy>always</updatePolicy> <!-- 同上 --> <checksumPolicy>warn</checksumPolicy> </snapshots> </repository> </repositories>
如果是公司本地仓库,而且需要认证才能访问,需要在本地maven的conf\settings.xml文件中添加如下配置内容
<servers>
<server>
<id>nexus</id>
<username>admin</username>
<password>admin</password>
</server>
</servers>
2. distributionManagement 结构说明
distributionManagement 表示项目打包成库文件后要上传到仓库地址
<distributionManagement> <!-- 正式版本 --> <repository> <uniqueVersion>false</uniqueVersion> <!-- nexus服务器中用户名(settings.xml中<server>的id)--> <id>releases</id> <!-- 自定义名称 --> <name>Releases Repository</name> <url>http://192.168.1.x:xxxx/repository/maven-releases/</url> <layout>default</layout> </repository> <!-- 快照 --> <snapshotRepository> <uniqueVersion>true</uniqueVersion> <id>snapshots</id> <name>Snapshots Repository</name> <url>http://192.168.1.x:xxxx/repository/maven-snapshots/</url> <layout>legacy</layout> </snapshotRepository> </distributionManagement>
如果是公司本地仓库,而且需要认证才能访问,也需要在本地maven的conf\settings.xml文件中添加如下配置内容(< repository >节点下的< id >对应setting.xml文件中的server的id)
<servers>
<server>
<id>releases</id>
<username>admin</username>
<password>admin</password>
</server>
<server>
<id>snapshots</id>
<username>admin</username>
<password>admin</password>
</server>
</servers>
3. pluginRepositories 结构说明
pluginRepositories 表示插件的下载仓库地址,字段和用法与repositories中的repository基本一致
<pluginRepositories> <pluginRepository> <id>nexus</id> <name>Nexus</name> <url>http://192.168.1.x:xxxx/repository/maven-public/</url> <releases> <enabled>true</enabled> <updatePolicy>always</updatePolicy> <checksumPolicy>warn</checksumPolicy> </releases> <snapshots> <enabled>true</enabled> <updatePolicy>always</updatePolicy> <checksumPolicy>warn</checksumPolicy> </snapshots> </pluginRepository> </pluginRepositories>
4. 常用的maven仓库命令
上传本地仓库
mvn install:install-file
-DgroupId=com.xxx
-DartifactId=xxx-sdk
-Dversion=1.0.0
-Dpackaging=jar
-Dfile=xxx-xxx-sdk-1.0.0.jar
参数说明
mvn install:install-file
-DgroupId=上面的groupId
-DartifactId=上面的artifactId
-Dversion=上面的version
-Dpackaging=jar
-Dfile=jar包的位置
上传远程仓库
mvn -X deploy:deploy-file
-Dmaven.test.skip=true
-DgroupId=XXX.XXX
-DartifactId=XXX
-Dversion=XXX
-Dpackaging=jar
-Dfile=XXX.jar
-DpomFile=pom.xml
-Durl=http://用户名:密码@远程私服仓库地址
阿里云仓库地址
https://maven.aliyun.com/mvn/guide
maven中央仓库地址
https://repo1.maven.org/maven2/
本地电脑已安装maven
私服已经搭建好
私服对应仓库和账号权限开启,允许 deploy jar 包上去
需要在./conf/setting.xml中配置需要远程上传库的地址,用户以及密码(如果需要认证):
<servers>
<server>
<id>maven-releases</id>
<username>zm</username>
<password>123456</password>
</server>
</servers>
mvn deploy:deploy-file -Dmaven.test.skip=true -Dfile=E:\Work\MyWorkspace\idea\office-
pdf-util\src\main\resources\libs\aspose-words-16.8.0-jdk16.jar -DgroupId=aspose-words -
DartifactId=aspose-words -Dversion=16.8.0 -Dpackaging=jar -DrepositoryId=maven-releases
-Durl=http://192.168.0.167:8081/repository/maven-releases
如果要在命令行临时指定setting.xml
mvn deploy:deploy-file --settings C:\Users\Liu\.m2\settings-zhiyi.xml -
Dmaven.test.skip=true -Dfile=E:\Work\MyWorkspace\idea\office-pdf-
util\src\main\resources\libs\aspose-words-16.8.0-jdk16.jar -DgroupId=aspose-words -
DartifactId=aspose-words -Dversion=16.8.0 -Dpackaging=jar -DrepositoryId=maven-releases
-Durl=http://192.168.0.167:8081/repository/maven-releases
各参数代表含义为:
-Dmaven.test.skip=true //跳过编译、测试
-Dfile=D:\work\thirdjar\aspose-words-16.8.0.jar //jar包文件地址,绝对路径
-DgroupId=pri.roy.mvn.test //gruopId--pom坐标,自定义
-DartifactId=mvn-api //artifactId--pom坐标,自定义
-Dversion //版本号,自定义
-Dpackaging //打包方式
-DrepositoryId //远程库ID
-Durl //远程库地址
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。