读书人

maven中log4j1.2.15的委以管理

发布时间: 2012-11-03 10:57:44 作者: rapoo

maven中log4j1.2.15的依赖管理

在maven中直接注入对log4j1.2.15的依赖是有问题的,如下:

01/04/2010 1:17:15 PM EDT: Missing indirectly referenced artifact javax.jms:jms:jar:1.1:test01/04/2010 1:17:15 PM EDT: Missing indirectly referenced artifact com.sun.jdmk:jmxtools:jar:1.2.1:test01/04/2010 1:17:15 PM EDT: Missing indirectly referenced artifact com.sun.jmx:jmxri:jar:1.2.1:test01/04/2010 1:17:15 PM EDT: Missing indirectly referenced artifact javax.transaction:jta:jar:1.0.1B:compile

?出现这些问题的直接原因是sun将这些jar包笼罩在license管理的淫威下,maven中央存储库没法直接获取。而log4j1.2.15的pom.xml又明确依赖于这些文件。

<dependency>    <groupId>javax.mail</groupId>    <artifactId>mail</artifactId>    <version>1.4</version>  </dependency>  <dependency>    <groupId>javax.jms</groupId>    <artifactId>jms</artifactId>    <version>1.1</version>  </dependency> <dependency>    <groupId>com.sun.jdmk</groupId>    <artifactId>jmxtools</artifactId>    <version>1.2.1</version>  </dependency> <dependency>    <groupId>com.sun.jmx</groupId>    <artifactId>jmxri</artifactId>    <version>1.2.1</version>  </dependency> <dependency>    <groupId>oro</groupId>    <artifactId>oro</artifactId>    <version>2.0.8</version>    <scope>test</scope>  </dependency>  <dependency>    <groupId>junit</groupId>    <artifactId>junit</artifactId>    <version>3.8.1</version>    <scope>test</scope>  </dependency>

?解决的办法可能你已经想到了,那就是手工获取,从sun的下载页上获取这些jar包,然后按下面的指令安装。当然你也可以直接拷贝到.m2的指定目录。

?

1. 下载jmxtools、jmxri.jar、jta.jar、jms.jar和jdbc2_0-stdext.jar

2. 输入如下指令安装:

cd <directory containing jmxri.jar >mvn install:install-file -Dfile=jmxri.jar -DgroupId=com.sun.jmx -DartifactId=jmxri -Dversion=1.2.1 -Dpackaging=jarcd <directory containing jmxtools.jar >mvn install:install-file -Dfile=jmxtools.jar -DgroupId=com.sun.jdmk -DartifactId=jmxtools -Dversion=1.2.1 -Dpackaging=jarcd <directory containing jta-1.0.1B.jar>mvn install:install-file -Dfile=jta-1.0.1B.jar -DgroupId=javax.transaction -DartifactId=jta -Dversion=1.0.1B -Dpackaging=jarcd <directory containing jms.jar>mvn install:install-file -Dfile=jms.jar -DgroupId=javax.jms -DartifactId=jms -Dversion=1.1 -Dpackaging=jar

?如果系统提示你mvn命令找不到,那说明你还没有安装maven, 或者没有指定M2_HOME环境变量并将其%M2_HOME%\bin加入classpath.请参考http://maven.apache.org/download.html#Installation

3. 完成!

?

当然如果你不用log4j1.2.15就不会有这些麻烦,如果只是单纯地用来写log,log4j1.2.14就已经足够啦.

?

?

1 楼 xiebiao110 2010-07-15 log4j的问题,我也是最近在ivy中遇到的这个问题。 2 楼 xiebiao110 2010-07-15 不过ant + ivy的方式不需要去下载包。

读书人网 >软件架构设计

热点推荐