Maven 依赖管理者

使用Maven两年多了,一点点的小心得,记录下来。

关于Maven的安装,调试,这个网上很多,推荐ITEYE上面的一系列博文。讲的很全面很易懂。

Maven JVM 参数

另外针对Maven运行时候容易出现的java.lang.OutOfMemoryError:PermGen space maven

简单的解决方法就是设置Maven JVM 参数。

Win7 64bit系统下的设置:

M2_OPTS=-Xms128m-Xmx1024m -XX:MaxPermSize=256m

Maven Dependency

Dependency最基本的特性如Groupid,artifactid, version 等就不累赘叙述了。从dependencyManagement开始说起。

dependencyManagement是用于定义依赖的全局信息,一般情况下是定义在最顶端的pom.xml中的。所有的成员或者子项目都继承于它。

这里面主要需要定义两种类型version版本和Scope 范围:

1,定义统一的依赖版本。也就是避免不同的子项目之间有依赖版本冲突。

比如,  

<dependencyManagement>

<dependencies>

<dependency>

               <groupId>log4j</groupId>

               <artifactId>log4j</artifactId>

                <version>1.2.14</version>

</dependency>

</dependencies>

</dependencyManagement>

定义了如上的全局信息以后,子项目中如果需要log4j作为依赖就不需要再定义<version>了

   <dependencies>

        <dependency>

           <groupId>log4j</groupId>

           <artifactId>log4j</artifactId>

        </dependency>

   </dependencies>

 

2,定义统一的依赖范围。

什么时候需要这样的定义总体项目的依赖范围, 比如,我们使用JBOSS作为应用服务器,那些JBOSS服务器本身就已经自带的libs我们就可以总体的定义scope           

<dependencyManagement>

<dependency>

                <groupId>org.jboss.ws</groupId>

               <artifactId>jbossws-spi</artifactId>

               <version>1.4.1.GA</version>

               <scope>provided</scope>

   </dependency>

</dependencyManagement>

这样在子项目中就没有必要再重复考虑Scope特性了。

当架构师在项目初期架构考虑了以上因素,就减轻了协调开发人员工作的难度以及减少了冲突发生的可能性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值