有一些第三方库在 Maven2 的中心代码库里没有,但项目组需要,怎么办呢?
假设我们已经安装好了Maven-proxy系统,向Maven-proxy的Local Repository目录里加入相应的文件,
假设我们要添加ibatis-2.3.0.667.jar到 Mavne-proxy里,具体操作如下:
约定ibatis-2.3.0.667.jar 的 groupId = com.ibatis,artifactId = ibatis,version = 2.3.0.667
假设 Maven-proxy 的 LocalRepository路径为:/var/maven-proxy/target/repo
(1) 复制 jar 包到 Maven-proxy 的本地代码库
$ cd /var/maven-proxy/target/repo
$ mkdir com
$ mkdir com/ibatis
$ mkdir com/ibatis/ibatis
$ mkdir com/ibatis/ibatis/2.3.0.667
$ cp ibatis-2.3.0.667.jar /var/maven-proxy/target/repo/com/ibatis/ibatis/2.3.0.667
(2) 编写 pom 文件:
$ vi ibatis-2.3.0.667.pom
文件内容如下:
<
project
>
<
modelVersion
>
4.0
.
0
</
modelVersion
>
<
groupId
>
com.ibatis
</
groupId
>
<
artifactId
>
ibatis
</
artifactId
>
<
version
>
2.3
.
0.667
</
version
>
</
project
>
如果有依赖关系,可以将依赖关系描述在 pom 文件里。
(3) 制作 checksum 文件:
需要用Ant 来生成 jar 包和 pom 文件的 checksum 文件,建立build.xml,如下:
<
project
default
=
"
checksum
"
>
<
target name
=
"
checksum
"
>
<
checksum file
=
"
ibatis-2.3.0.667.jar
"
algorithm
=
"
SHA
"
fileext
=
"
.sha1
"
/>
<
checksum file
=
"
ibatis-2.3.0.667.pom
"
algorithm
=
"
SHA
"
fileext
=
"
.sha1
"
/>
</
target
>
</
project
>
执行这个 Ant 任务
$ ant build.xml
会生成 ibatis-2.3.0.667.jar.sha1 和 ibatis-2.3.0.667.pom.sha1 文件,在项目的 pom.xml文件里就可以添加这个库了,添加如下 dependency:
<
dependency
>
<
groupId
>
com.
ibatis
</
groupId
>
<
artifactId
>
ibatis
</
artifactId
>
<
version
>
2.3
.
0.667
</
version
>
</
dependency
>
这样,mvn 会从 Maven-proxy那里下载这个库了。