maven 使用小结

1 导入maven工程时遇到:maven-dependency-plugin (goals "copy-dependencies", "unpack") is not support

解决办法,在build中加入pluginManagement,然后Update project configuration即可:
 ....
 org.eclipse.m2elifecycle-mapping1.0.0org.apache.maven.pluginsmaven-dependency-plugin[2.0,)
 ...

 

2 升级maven工程及子模块的版本号

 

 解决办法:先把parent project更新到指定version,然后再更新子模块,让其与父模块的版本号保持一致:

 

 

  1.  mvn versions:set -DnewVersion=1.0.1-SNAPSHOT
  2.  mvn -N versions:update-child-modules
  3.  执行后maven会将pom.xml保留一个备份:pom.xm.versionsBackup
  4.  确认升级版本无问题后,执行mvn versions:commit  确认升级,去掉备份的pom.xml.versionsBackup

 

3 多个module间的test解除依赖关系

       project下多个module时,有些module的test有时会依赖与其他module的test(初始化、test-context等),结果发现虽然compile不报错,但在mvn package时,去报告对应的依赖test class不可见。

       原因:一般mvn 打包不会把test打入jar中,这样自然无法看见。

 

4 unit test中测试异常

        对于期望在test中出现的合理异常,junit4.7后有新的办法:

        1)使用@Test 注解

@Test(expected=ServerUnavailableException.class) 

          不足:无法控制异常出现的位置;

           2)使用ExpectedException,更佳方案

 

@Rule
public ExpectedException expectedException = ExpectedException.none();

@Test
public void testGetClient(){
    expectedException.expect(ServerUnavailableException.class);
    mcClientFacotry.updateServerStatus(ServerStatus.unavailable);
    mcClientFacotry.getClient();
}

 

 

            

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值