我在 Eclipse Indigo 下从 maven-achetype-quickstart 创建了一个简单的项目,然后我转到 pom.xml gui 编辑器并在依赖项选项卡中通过在适当的对话框中搜索添加了依赖项 log4j
。现在我的 pom.xml 看起来像
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org xsd/maven-.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>mygroup</groupId>
<artifactId>Test_Maven_03</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Test_Maven_03</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.15</version>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>
Eclipse 说我的 POM 有很多问题,比如
缺少 Artifact javax.jms:jms:jar:1.1 pom.xml/Test_Maven_03 line 2 Maven 依赖问题
这是什么意思以及如何查看自动下载jar的maven功能。
编辑 1
如果我选择 log4j 1.2.16 而不是 1.2.15,我会收到另一个错误:Missing artifact log4j:log4j:bundle:1.2.16
。所以我根本看不到自动 jar 管理。
最佳答案
如果我没记错的话,由于许可问题,它不再包含在内。如果您不需要 jms 功能,您可以从 log4j 依赖项中排除 jms:
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.15</version>
<exclusions>
<exclusion>
<groupId>com.sun.jmx</groupId>
<artifactId>jmxri</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.jdmk</groupId>
<artifactId>jmxtools</artifactId>
</exclusion>
<exclusion>
<groupId>javax.jms</groupId>
<artifactId>jms</artifactId>
</exclusion>
</exclusions>
</dependency>
关于java - 缺少 Artifact com.sun.jdmk :jmxtools:jar:1. 2.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9047949/