温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

使用Maven如何对项目进行管理

发布时间:2020-11-24 16:59:12 来源:亿速云 阅读:220 作者:Leah 栏目:编程语言

使用Maven如何对项目进行管理?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

使用 Maven 管理项目时,三层的开发时分模块开发的,parent-dao-service-web,所有的spring+struts + Hibernate的依赖都是加在 parent 上,dao-service-web都是作为子模块,在模块之间的关系处理的时候出现了几个问题:

junit测试包的传递依赖失效了

多个配置文件的读取问题

我在 parent 工程没有添加 Junit 的依赖,在编写 dao 模块是添加了 Junit 的 jar 包,理所当然的在 scope 中写了 test 范围,但是在 service 模块中进行  Junit 测试时,显示没有依赖上 Junit 包,那是为什么呢?百度了才想通,原来是 service 依赖的 dao 模块的 install 之后的 jar 包,当 dao 模块 install 时,scope 为 test 的 Junit包当然没有被发布出来,service中也就不能传递依赖到 Junit了,这样的解决办法只能在 service 中添加 Junit 包的依赖。

因为采取的是模块式的开发,spring的配置文件就被分布在各个模块中了,在测试项目时需要读取多个模块中的 spring 配置文件时,使用到了之前没有使用到的一个注解:

@ContextConfiguration(locations={"classpath*:applicationContext-*.xml"}) 这个注解中的*号通配符表示会加载本模块和依赖的jar包中的类路径下的applicationContext-开头的配置文件(只有spring配置文件才会这样命名)

//@ContextConfiguration(locations={"classpath*:applicationContext-*.xml"})
@ContextConfiguration(locations={"classpath:applicationContext-dao.xml","classpath:applicationContext-service.xml"})
@RunWith(SpringJUnit4ClassRunner.class)
public class CustomerServiceImplTest {

 @Autowired
 private CustomerService customerService;
 
 @Test
 public void test() {
  Customer customer = customerService.findById(1L);
  System.out.println("********************"+customer.getCustName());
 }

}

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI