用Maven 管理Jar
看着log4j-2.13.jar被每个项目每个版本里一次又一次无限下载,你就会觉得用Maven2 管理Library实在很环保。
完全使用Maven来做全部事情有点超前,因此我也只是用它的library管理功能,Maven会将所有下载回来的jar按目录层次结构存放于C:/Documentment and Setting/your name/.m2/ 目录里,然后按项目的pom.xml文件需要,复制到你的项目目录中。
1.查找Jar包在Maven官网的路径
http://www.mavenregistry.com/  
;,太实用了。 不然在http://repo1.maven.org/maven2/ 
; 里慢慢找还真麻烦。
2.调用Maven的ant task 管理 JAR
以下这段代码,缺一个字符都不行
<typedef resource="org/apache/maven/artifact/ant/antlib.xml" uri="urn:maven-artifact-ant">
<classpath>
<pathelement location="lib/maven-artifact-ant-2.0.2-dep.jar"/>
</classpath>
</typedef>
<artifact:dependencies pathId="maven.classpath" filesetId="maven.fileset">
<artifact:pom file="pom.xml"/>
</artifact:dependencies>
<copy todir="lib/">
<fileset refid="maven.fileset"/>
<mapper type="flatten"/>
</copy>
第1句从maven-artifact-ant-2.0.2-dep.jar读antlib.xml,读出一堆maven的task。
第2句分析pom.xml里的jar,如果没有就上http://repo1.maven.org/maven2 
;把jar下载到user.home/.m2/目录。并把所有jar定义成ant的fileset对象--maven.fileset。
第3句把maven.fileset定义的,放在user.home/.m2/里的jar 拷贝到项目的lib目录。
3. 自建Maven私服或设置本地仓库
相对来讲Maven2还很不成熟,比如很多项目的pom文件乱写的或缺少的,比如maven的官网速度实在太差,还经常抽筋死掉,比如有一些想要的版本官网上没有。
Maven服务器其实就是普通的http服务器,和你的.m2/目录里一样的结构存放文件就可以了。
3.1 设置服务器或本地仓库
<repositories>
<repository>
<id>localdir</id>
<name>本地Repository</name>
<url>file: </repository>
<repository>
<id>springside</id>
<name>传说中的私服</name>
<url>http: </repository>
</repositories>
3.2 添加官网没有的jar
除jar文件外,还需要编写pom.xml文件,参考misc/repository/sample.pom
使用springside根目录的build.xml 文件的checksum target, 为jar和pom生成校验文件。