maven 上次jar包到私服 maven上次jar
程序员文章站
2022-04-02 23:18:15
...
1.上传jar包,
2.项目组上传jar包
(1)修改本地的settings.xml文件认证部分
<servers>
<!--根据情况选择上传类型-->
<!--稳定版本配置-->
<server>
<id>releases</id>
<username>soa账号</username>
<password>soa密码</password>
</server>
<!--快照版本-->
<server>
<id>snapshots</id>
<username>soa账号</username>
<password>soa密码</password>
</server>
</servers>
①deploy releases版本
mvn deploy:deploy-file -DgroupId=XXX -DartifactId=XXX -Dversion=X.X.X -Dpackaging=jar -Dfile=XXX.jar -Durl=http://maven.cnsuning.com/content/repositories/releases/ -DrepositoryId=releases
②deploy snapshots版本
mvn deploy:deploy-file -DgroupId=XXX -DartifactId=XXX -Dversion=X.X.X -Dpackaging=jar -Dfile=XXX.jar -Durl=http://maven.cnsuning.com/content/repositories/snapshots/ -DrepositoryId=snapshots
(3)对于特殊情况:
区分从同一个pom编译出来的但是内容不同的,但groupId、artifactId、version相同的包时,需要使用classifier参数。命令如下
mvn deploy:deploy-file -DgroupId=XXX -DartifactId=XXX -Dversion=XXX -Dclassifier=XXX -Dpackaging=jar -Dfile=XXX.jar -Durl=http://maven.baidu.com/content/repositories/releases/ -DrepositoryId=releases
例如 上传sources和pom.xml可以参考下面:
mvn deploy:deploy-file -DgroupId=XXX -DartifactId=XXX -Dversion=XXX-SNAPSHOT -Dpackaging=jar -Dclassifier=sources -Dfile=scts-invoke-sncd-sources.jar -Durl=http://maven.baidu.com/content/repositories/snapshots/ -DrepositoryId=snapshots
mvn deploy:deploy-file -DgroupId=XXX -DartifactId=XXX -Dversion=XXX -Dpackaging=pom -Dfile=pom.xml -Durl=http://maven.baidu.com/content/repositories/releases/ -DrepositoryId=releases
二、上传注意事项
1.snapshots版本:上传时必须是:-Dversion=版本号-SNAPSHOT 。以上两个版本根据实际情况上传,并不都是需要上传的。
2.相关参数:
-Durl 是指要deploy到仓库的路径
-DrepositoryId jar 包的repositoryid,即releases还是snapshots
-Dfile jar包的具体路径,指绝对路径,比如:D:/test/test.jar
-Dversion jar的版本
-Dclassifier 用于区分从同一个pom编译出来的但是内容不同的同名包,例如同一个工程编译出两个artifact,一个支持jdk1.5一个支持jdk1.4,那么就可以使用这个来命名为jdk15和jdk14来区分,它如果出现在包名中,那么它必须跟在版本号后。还有一种情况是将一个工程的一些次要artifact附到主要artifact中,就可以使用这个来区分,例如一个工程产生source,javadoc,class三种东西,那么就可以使用不同的classifier来分别标识这些东西 。
3.上传报错:
在执行该命令的时候,有时候看到提示需要POM文件,但上传包是不需要pom文件的。
最大可能是你语句打错了如多了一个空格和换行,这样语句直接截断到换行前面,cmd就找它可以认识的语句执行,比如直接执行mvn,而mvn是对项目打包,是要pom文件的。
所以请耐心把命令重新检查一下。
注意:一般来说上传报错为401forbidden时都是由于maven的配置文件里库ID配置错误,请仔细检查。
请把maven的配置文件setting.xml 拷贝到C:\Users\工号\.m2下面一份,确保正确。
确认有权限的情况下,还是报错403,是密码错误。如果确认密码是soa的密码,那么请联系管理员。
报400错误的同学就不要纠结了,是maven库里面有一个一模一样的包了,不允许覆盖,所以400了。请更新版本号重新上传吧!
2.项目组上传jar包
(1)修改本地的settings.xml文件认证部分
<servers>
<!--根据情况选择上传类型-->
<!--稳定版本配置-->
<server>
<id>releases</id>
<username>soa账号</username>
<password>soa密码</password>
</server>
<!--快照版本-->
<server>
<id>snapshots</id>
<username>soa账号</username>
<password>soa密码</password>
</server>
</servers>
①deploy releases版本
mvn deploy:deploy-file -DgroupId=XXX -DartifactId=XXX -Dversion=X.X.X -Dpackaging=jar -Dfile=XXX.jar -Durl=http://maven.cnsuning.com/content/repositories/releases/ -DrepositoryId=releases
②deploy snapshots版本
mvn deploy:deploy-file -DgroupId=XXX -DartifactId=XXX -Dversion=X.X.X -Dpackaging=jar -Dfile=XXX.jar -Durl=http://maven.cnsuning.com/content/repositories/snapshots/ -DrepositoryId=snapshots
(3)对于特殊情况:
区分从同一个pom编译出来的但是内容不同的,但groupId、artifactId、version相同的包时,需要使用classifier参数。命令如下
mvn deploy:deploy-file -DgroupId=XXX -DartifactId=XXX -Dversion=XXX -Dclassifier=XXX -Dpackaging=jar -Dfile=XXX.jar -Durl=http://maven.baidu.com/content/repositories/releases/ -DrepositoryId=releases
例如 上传sources和pom.xml可以参考下面:
mvn deploy:deploy-file -DgroupId=XXX -DartifactId=XXX -Dversion=XXX-SNAPSHOT -Dpackaging=jar -Dclassifier=sources -Dfile=scts-invoke-sncd-sources.jar -Durl=http://maven.baidu.com/content/repositories/snapshots/ -DrepositoryId=snapshots
mvn deploy:deploy-file -DgroupId=XXX -DartifactId=XXX -Dversion=XXX -Dpackaging=pom -Dfile=pom.xml -Durl=http://maven.baidu.com/content/repositories/releases/ -DrepositoryId=releases
二、上传注意事项
1.snapshots版本:上传时必须是:-Dversion=版本号-SNAPSHOT 。以上两个版本根据实际情况上传,并不都是需要上传的。
2.相关参数:
-Durl 是指要deploy到仓库的路径
-DrepositoryId jar 包的repositoryid,即releases还是snapshots
-Dfile jar包的具体路径,指绝对路径,比如:D:/test/test.jar
-Dversion jar的版本
-Dclassifier 用于区分从同一个pom编译出来的但是内容不同的同名包,例如同一个工程编译出两个artifact,一个支持jdk1.5一个支持jdk1.4,那么就可以使用这个来命名为jdk15和jdk14来区分,它如果出现在包名中,那么它必须跟在版本号后。还有一种情况是将一个工程的一些次要artifact附到主要artifact中,就可以使用这个来区分,例如一个工程产生source,javadoc,class三种东西,那么就可以使用不同的classifier来分别标识这些东西 。
3.上传报错:
在执行该命令的时候,有时候看到提示需要POM文件,但上传包是不需要pom文件的。
最大可能是你语句打错了如多了一个空格和换行,这样语句直接截断到换行前面,cmd就找它可以认识的语句执行,比如直接执行mvn,而mvn是对项目打包,是要pom文件的。
所以请耐心把命令重新检查一下。
注意:一般来说上传报错为401forbidden时都是由于maven的配置文件里库ID配置错误,请仔细检查。
请把maven的配置文件setting.xml 拷贝到C:\Users\工号\.m2下面一份,确保正确。
确认有权限的情况下,还是报错403,是密码错误。如果确认密码是soa的密码,那么请联系管理员。
报400错误的同学就不要纠结了,是maven库里面有一个一模一样的包了,不允许覆盖,所以400了。请更新版本号重新上传吧!