maven项目常见问题及解决

1.针对多模块工程,多个jar还有war,如何实现只发jar,不发war

解决方案:可以在项目根目录直接执行mvn deploy进行发布,也可以通过切换到子模块目录下执行mvn deploy,根据自身情况。

只发jar,不发war可以通过在war模块的pom.xml中增加下面代码来实现:

< plugin >
     < groupId >org.apache.maven.plugins</ groupId >
     < artifactId >maven-deploy-plugin</ artifactId >
     < version >2.7</ version >
     < configuration >
         < skip >true</ skip >
     </ configuration >
   </ plugin >
前公司是通过在supom中设置的:)

2.无需修改pom.xml中的版本实现发布的灵活性------maven会判断版本后面是否带了-SNAPSHOT,如果带了就发布到snapshots仓库,否则发布到release仓库。

  实现方案:修改pom.xml文件
<groupId>com.test</groupId>
<artifactId>my-test</artifactId>
<packaging>jar</packaging>
<version>${project.release.version}</version>

<properties>
    <java.version>1.8</java.version>
    <project.release.version>1.0-SNAPSHOT</project.release.version>
</properties>

<profiles>
    <profile>
        <id>product</id>
        <properties>
            <project.release.version>1.0</project.release.version>
        </properties>
    </profile>
</profiles>
说明:通过占位符 ${project.release.version} 来控制需要发布的版本,用命令mvn deploy -P product,发布my-test的1.0版本到releases库。如果使用命令mvn deploy,则默认使用 1.0-SNAPSHOT版本号,将发布my-test的1.0-SNAPSHOT版本到snapshots库。

3.release版同一版本重复部署问题:
   默认重复部署的话是会报错的,错误码400,如果想不报错,可以通过修改部署策略(Deployment pollcy)来实现,,默认是(Disable redeploy),要想重复提交不报错,可以设置为(Allow redeploy),此时如果是重复上传会skip.

4.nexus 3.X上传第三方包
   

nexus oss 3.*不能像2.*可以通过登录web界面进行jar包的上传操作,可以通过下面的方式来上传第三方jar包:

   。通过传统方式mvn deploy来上传;(缺点就是如果是要上传到第三方库或用来存放安卓,ios的构建产物的话需要额外安装配置maven,如pom.xml与setting.xml)

   。针对上面的问题其实官方提供了一个好的上传方式----------通过API接口

       格式:curl -v -u admin:admin123 --upload-file utils-1.0.jar http://ip/repository/thirdparty/org/foo/utils/1.0/utils-1.0.jar

       上传个图片试试:curl -v --user ’admin:admin123’ --upload-file ./test.png http://ip/repository/AppReleases/test.png

 参考:https://www.cnblogs.com/yucongblog/p/6857318.html

  
  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值