我使用菜单在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>
答案 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依赖关系,我的问题得到了解决。
选择项目,然后单击“确定”。
Project会自动尝试下载所需的jar,但如果仍然遇到相同的错误,请执行以下步骤。
选择项目,然后单击“确定”。