论坛首页 Java企业应用论坛

maven2的pom的依赖管理

浏览 7072 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-03-01  
  给原来java系统新增自动打包功能的时候,因为原来的系统并没有采用maven那样的jar包管理,一般来说所有相关jar都在lib目录下边,而默认的maven2则采用集中式jar包管理,比如都放在${HOME}/.m2/repository,那么如何在原来lib基础上采用maven呢?查看POM的reference,发现dependency有个很有用的scope属性,这个可以解决上述问题:)
  首先将dependency的scope设置成system(默认是compile),然后增加systemPath,指定所需的具体jar文件。
   注意:
  1. systemPath必须是具体的jar,而不是jar所在目录.
  2. groupId, artifactId, version 必须设置,否则pom语法出错
  3. 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>  
   发表时间:2007-03-01  
不错...一个人用用还可以...central repository的话就麻烦了...
0 请登录后投票
   发表时间:2007-03-04  
我觉得没任何意义, maven推崇的就是项目化的jar包集中管理,实在需要的话可以将任何jar包 install to local repository.
很多事情都是千里之堤,溃于蚁穴.
0 请登录后投票
   发表时间:2007-03-06  
ok_winnerboy 写道
我觉得没任何意义, maven推崇的就是项目化的jar包集中管理,实在需要的话可以将任何jar包 install to local repository.
很多事情都是千里之堤,溃于蚁穴.

有时候,为了保证向后兼任,做一些牺牲是必要的,比如你既可以用maven打包,也需要保证原来系统能够按照其原来打包方式运行;而如果完全采用maven的repository,那么原来系统要做不少改动的
0 请登录后投票
   发表时间:2007-03-08  
我和LZ有过类似的经历。

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

不知道LZ有没有碰到?
0 请登录后投票
   发表时间:2007-03-08  
把它install到local repository或者建个私服来deploy
0 请登录后投票
   发表时间:2007-03-09  
lianghua21cn 写道
我和LZ有过类似的经历。

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

不知道LZ有没有碰到?

你是如何打包的啊?
我就是用package,再就是我利用maven的antrun插件,增加了一些ant下常用的copy等功能,希望对你有所帮助
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics