给原来java系统新增自动打包功能的时候,因为原来的系统并没有采用maven那样的jar包管理,一般来说所有相关jar都在lib目录下边,而默认的maven2则采用集中式jar包管理,比如都放在${HOME}/.m2/repository,那么如何在原来lib基础上采用maven呢?查看POM的reference,发现dependency有个很有用的scope属性,这个可以解决上述问题:)
首先将dependency的scope设置成system(默认是compile),然后增加systemPath,指定所需的具体jar文件。
注意:
首先将dependency的scope设置成system(默认是compile),然后增加systemPath,指定所需的具体jar文件。
注意:
- systemPath必须是具体的jar,而不是jar所在目录.
- groupId, artifactId, version 必须设置,否则pom语法出错
- scope是system时候,maven将从systemPath中查找所需jar包,而不是从repository.
xml 代码
- <dependency>
- <groupId>lib</groupId>
- <artifactId>commons-logging</artifactId>
- <version>1.0.4</version>
- <scope>system</scope>
- <systemPath>${basedir}/lib/commons-logging.jar</systemPath>
- </dependency>