缺少工件log4j:log4j:bundle:1.2.17

时间:2014-02-06 16:54:05

标签: eclipse maven eclipse-plugin

我使用菜单在eclipse版本:Kepler Service Release 1中创建了一个动态Web应用程序。 之后我用它将它转换成了一个maven项目 configure - >转换为maven项目。然后我做了 maven->添加依赖项,然后搜索log4j。

将鼠标悬停在标记上后添加 对于log4j,它显示Missing artifact log4j:log4j:bundle:1.2.17。 我无法使用maven更新依赖项。怎么解决? 还请解释错误原因。

这是添加log4j后生成的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-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>Healthcare</groupId>
<artifactId>Healthcare</artifactId>
<version>0.0.1-HEALTHCARE</version>
<packaging>war</packaging>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
  <plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
    <configuration>
      <source>1.6</source>
      <target>1.6</target>
    </configuration>
  </plugin>
  <plugin>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.3</version>
    <configuration>
      <warSourceDirectory>WebContent</warSourceDirectory>
      <failOnMissingWebXml>false</failOnMissingWebXml>
    </configuration>
  </plugin>
</plugins>
</build>

<dependencies>
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
    <type>bundle</type>
</dependency>
</dependencies>
</project>

5 个答案:

答案 0 :(得分:6)

First why did you changed the default source folder location? The default is src/main/java and for webapp src/main/webapp。除此之外,Maven Central上不存在log4j的包,只需从您的依赖项中删除<type>bundle</type>,因为在Maven Central中只有一个jar可用。

答案 1 :(得分:3)

我总是做以下诀窍:

在依赖项管理中,我编辑依赖项属性(选择带有问题的依赖项并单击属性按钮)将类型从捆绑更改为jar,这样可以解决问题。

我希望这个解决方案适合你:)问候,

答案 2 :(得分:0)

请检查依赖项是否正确或是否缺失。

<properties>
    <springframework.version>4.2.1.RELEASE</springframework.version>
    <jackson.version>2.5.3</jackson.version>
    <log4j.version>1.2.17</log4j.version>
</properties>

答案 3 :(得分:0)

默认情况下(以及常见用法),Maven将使用jar作为依赖项。只需将捆绑包更改为给定依赖项中pom.xml文件中的jar,这会给您一个错误。

答案 4 :(得分:0)

我也玩过上面提供的所有选项,但它没有帮助。通过强制更新Maven依赖关系,我的问题得到了解决。

  1. 转到项目&gt;&gt; Maven&gt;&gt;更新项目
  2. 选择项目,然后单击“确定”。

    Project会自动尝试下载所需的jar,但如果仍然遇到相同的错误,请执行以下步骤。

    1. 转到项目&gt;&gt; Maven&gt;&gt;更新项目&gt;&gt;选中复选框&#39;强制更新快照/版本&#39;
    2. 选择项目,然后单击“确定”。