maven学习日记

  在看现在很多项目是,它们都用maven作为管理和执行工具,开始看其中的东西是感觉很困惑:

1、POM.xml代表什么?2、maven如何获得执行所需的lib文件?3、每次编译都需要联网进行么?

经过研究弄明白的上面的问题:

1、POM是Project Object Model的缩写,代表了对项目或项目群的描述,可以在一个POM文件中定义多个项目,进行管理。

2、maven执行的lib文件,默认在windows下,存放在c:/Document and setting/${USER-HOME}/.m/repository/*目录下,是由pom文件中定义的<groupId>,<artifactId>,<version>三部分构成的,例如:   <groupId>org.springframework.osgi</groupId>
    <artifactId>spring-osgi-annotation</artifactId>
    <version>1.2.0</version>

jar存放的位置将是:c:/Document and setting/${USER-HOME}/.m/repository/org/springframework/osgi/spring-osgi-annotation/1.2.0/

3、在刚开始研究maven是,最困惑的一个问题就是,它需要从网上的默认文件下载很多jar文件,并且说是它的一个优势,当时想,那我离线的时候如何完成工作内?经过学习和分析,发现maven的对一个工程lib的寻找次序是:本机的repository、自己定义的repository、网上默认的repository;这里问题的关键就在自定义的repository上,也就是说可以自己在内部网络中定义一个maven的repository,这样通过pom中dependency的控制,整个项目组可以同步设计所依赖的lib文件。在网上查询了很多文章,有两类实现这个repository的方法,一种是用通用的web服务器,如tomcat、jboss等,按照<groupId><artifactId><version>建立url,供maven使用,这种方面,发布每一个lib都很麻烦;另一种方面是利用opensource的maven repository服务器,我这里选用了artifactory,直接下载完整版,启动即可,有内嵌的jetty服务器,同样,他也提供了war包,可以部署在任意的服务器,上载jar很方便,并且能够自动生成pom文件。 在应用是,在pom文件或者,setting文件中设置repository路径就可以应用了。

4、在repository中,现在有些工程由maven生成,自己的文件中有dependencies时,可能会出现jar文件的冲突,这时候,可以修改jar中的pom.xml文件。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值