首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

maven2的pom的倚赖管理

2012-11-06 
maven2的pom的依赖管理? 给原来java系统新增自动打包功能的时候,因为原来的系统并没有采用maven那样的jar

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

    systemPath必须是具体的jar,而不是jar所在目录. groupId, artifactId, version 必须设置,否则pom语法出错 scope是system时候,maven将从systemPath中查找所需jar包,而不是从repository.
? 示例片段如下:依赖lib/commons-logging.jar
?xml 代码?
  1. <dependency>??
  2. ?????<groupId>lib</groupId>??
  3. ?????<artifactId>commons-logging</artifactId>??
  4. ?????<version>1.0.4</version>??
  5. ?????<scope>system</scope>??
  6. ?????<systemPath>${basedir}/lib/commons-logging.jar</systemPath>??
  7. ?</dependency>??
1 楼 lordhong 2007-03-01   不错...一个人用用还可以...central repository的话就麻烦了... 2 楼 ok_winnerboy 2007-03-04   我觉得没任何意义, maven推崇的就是项目化的jar包集中管理,实在需要的话可以将任何jar包 install to local repository.
很多事情都是千里之堤,溃于蚁穴. 3 楼 agile_boy 2007-03-06   ok_winnerboy 写道我觉得没任何意义, maven推崇的就是项目化的jar包集中管理,实在需要的话可以将任何jar包 install to local repository.
很多事情都是千里之堤,溃于蚁穴.
有时候,为了保证向后兼任,做一些牺牲是必要的,比如你既可以用maven打包,也需要保证原来系统能够按照其原来打包方式运行;而如果完全采用maven的repository,那么原来系统要做不少改动的 4 楼 lianghua21cn 2007-03-08   我和LZ有过类似的经历。

不过碰到一个问题就是使用maven打包的时候,这个jar会被maven忽略,不会被打包进去。

不知道LZ有没有碰到? 5 楼 dearwolf 2007-03-08   把它install到local repository或者建个私服来deploy 6 楼 agile_boy 2007-03-09   lianghua21cn 写道我和LZ有过类似的经历。

不过碰到一个问题就是使用maven打包的时候,这个jar会被maven忽略,不会被打包进去。

不知道LZ有没有碰到?
你是如何打包的啊?
我就是用package,再就是我利用maven的antrun插件,增加了一些ant下常用的copy等功能,希望对你有所帮助

热点排行