2017-08-25 82 views
0

在Eclipse Neon中,我从本地文件夹中导入了“现有的maven项目”,其内容是从另一台机器上复制的。该项目没有读取POM文件的依赖关系,其中一个例子是log4j依赖项。解决方法是将log4j-1.2.17.jar作为外部jar手动添加到项目中,但这是错误的。有没有人有关于如何排除故障的提示?我对maven相当缺乏经验,所以我不确定在将现有项目导入eclipse时是否有其他设置或配置。Eclipse项目不读取POM文件内的错误

+1

有没有下载或全部?如果从控制台运行“mvn compile”,从项目目录中运行会怎样? “问题”视图中是否存在错误?或者只是发布pom.xml;) – Stefan

回答

1

您可以确保,如果你的项目依赖正在通过在命令行上项目目录内执行

mvn clean install 

正确与否拉。这也会下载项目所需的依赖关系。

0

无论何时Maven在从存储库下载工件时遇到错误,我都会看到这个问题的最常见原因。在这种情况下,Maven会将下载标记为失败,并且在一段时间后才会重试(我不记得有多久)。

最简单的测试方法是删除主目录中的.m2/repository文件夹,然后让Maven再次下载工件。如果您安装了Maven,您只需从控制台执行“mvn install”即可。否则,你可以尝试:

  1. 右键单击该项目在Eclipse
  2. 选择 “的Maven>更新项目”
  3. 检查 “快照/发布的强制更新”
  4. 单击 “确定”
+0

您的步骤帮助我发现了另一个问题。我没有一个,但有多个项目,我们称它们为A和B.A的pow文件对从B编译的jar有依赖性。我已经配置A在构建过程中将B作为必需的项目。但是A不能提取这个jar文件。所以我手动将这个jar添加到A的构建路径,它似乎清除了一些编译时问题。然而,关于不能拾取log4j * .jar的问题仍然存在,我确认这个jar文件位于我的本地maven下载文件夹中。我还有什么可以尝试解决这个问题? – kenwood

+0

@kenwood如果您在问题视图中看到“Project配置与pom.xml不同步”中的错误,请按照我提到的步骤更新项目。 – Faron

+0

@kenwood您可能希望尝试从.m2/repository中删除log4j文件夹。 Maven将一件神器与最初发现它的回购商联系起来。如果您的配置发生变化,以致它试图使用不同的回购协议,Maven将不会使用您在本地的配置,并且不会尝试替换它。 – Faron