如何修复错误“正在更新Maven项目”。不支持的IClasspathEntry种类= 4?

时间:2012-05-12 14:42:13

标签: eclipse maven m2eclipse eclipse-wtp

我在STS中导入了maven项目,当我运行我收到的更新更新项目时:

"Updating Maven Project". Unsupported IClasspathEntry kind=4

有解决方法吗?

14 个答案:

答案 0 :(得分:611)

此问题已在m2e 1.5.0中修复,可用于Eclipse Kepler(4.3)和Luna(4.4)

请参阅https://bugs.eclipse.org/bugs/show_bug.cgi?id=374332#c14

问题是由于STS(Spring IDE / Eclipse)以及Eclipse和其他基于Eclipse的IDE使用m2e(clipse)插件,但是eclipse:eclipse可能已经在项目上运行了。当m2e遇到“var”.classpath条目时,它会抛出此错误。

更新站点在以下网址指定:
http://eclipse.org/m2e/m2e-downloads.html

如果您因任何原因无法使用m2e 1.5.0,那么:

  1. 禁用项目的maven性质(通过右键菜单)

  2. 运行mvn eclipse:clean(当您的项目在STS / eclipse中打开时)。根据时间的不同,您可能需要在重新启用maven性质之前对项目进行一次或两次刷新。您应该能够看到您的项目失去了它的Maven性质。 (eclipse:clean目标只会删除.project.classpath.settings/文件/目录。您也可以删除这些文件(在项目打开时再次) / em>)而不是运行mvn eclipse:clean。)

  3. 重新启用maven性质 (大多数情况下,可以通过在包浏览器窗格中右键单击相关项目,然后选择“配置” - >“转换为Maven项目”来完成此操作)

答案 1 :(得分:61)

  1. 右键单击您的项目,选择Maven - >删除Maven Nature。

  2. 打开终端,转到项目文件夹并执行mvn eclipse:clean

  3. 右键单击您的项目,然后选择“配置 - >转换为Maven项目“

  4. 现在你得到了“不支持的IClasspathEntry kind = 4 Eclipse Scala”消失了。

答案 2 :(得分:42)

有时,即使重新导入Maven项目也行不通。在eclipse中正确更新项目不是一个确定性的过程。 我发现的唯一100%失败安全程序是:

  1. 禁用Maven Nature,运行mvn eclipse:clean,重启,交叉并祈祷 3次。
  2. 如果这不起作用,请删除项目,运行mvn eclipse:clean,重新导入刷新,祈祷并使用武力
  3. 如果仍然无效,重启Eclipse ,甚至更好计算机。在等待重启时,您可以随机捐赠来修复您的业力。重复步骤2,不要忘记祈祷并控制你的愤怒。愤怒导致仇恨。仇恨导致痛苦。
  4. 尝试在此主题中发布的所有其他答案。在放弃之前,你可能需要至少尝试3次。
  5. 格式您的计算机,重新安装Eclipse和Maven 。无论如何都不需要祈祷,所有的神都恨你了
  6. 删除您的git项目,刻录存储远程存储库的物理驱动器,并从头开始编写项目。
  7. 找一个时间机器,前往过去并说服自己去追寻另一个非编程职业或者至少要避免使用Java

答案 3 :(得分:12)

  1. 确保您运行的m2e(clipse)插件的版本至少为1.1.0

  2. 关闭maven项目 - 右键单击​​“关闭项目”

  3. 在.classpath文件
  4. 中删除所有classpattrytry with kind =“var”
  5. 打开项目
    1. 删除maven项目
    2. Manualy rmeove .classpath 4重新进口项目

答案 4 :(得分:6)

你试过了吗?

  1. 如果你有导入​​项目进入eclipse 4,请删除它。
  2. 在maven consol中,运行:mvn eclipse:clean
  3. 在Eclipse 4中:文件 - >导入 - > Maven - >现有的Maven项目

答案 5 :(得分:3)

看到所有其他答案。我找到了一个更简单的方法。

我刚删除.classpath中的所有行(使用eclipse编辑),其中包含var和used maven - >更新项目没有错误。

答案 6 :(得分:2)

如果在使用Clover进行代码覆盖检测的项目上使用更新命令,则也会抛出此错误。

要在这种情况下解决: 取消对要更新的项目文件夹的检测。 运行maven更新,然后再次检测代码覆盖率。

答案 7 :(得分:0)

我无法获得mvn eclipse:clean等与Kepler合作。

然而,我改变了创建和扩展变量,只是在我的eclipse类路径中使用外部jar。这反映在我的.classpath中没有var。

这纠正了这个问题。我能够进行Maven更新。

答案 8 :(得分:0)

此问题(https://bugs.eclipse.org/394042)在m2e 1.5.0中得到修复,可从此p2回购中获取Eclipse Kepler和Luna:

http://download.eclipse.org/technology/m2e/releases/1.5

如果你也使用m2e-wtp,你还需要安装m2e-wtp 1.1.0:

http://download.eclipse.org/m2e-wtp/releases/luna/1.1

答案 9 :(得分:0)

从开普勒升级到Luna为我工作。

我刚刚添加了一些Java 1.8支持的组件。似乎他们不像我想的那样兼容,或者我混合了错误的那些。这确实造成了很多问题。尝试更新系统报告的错误,因为它们无法满足某些依赖性。 Maven升级无效。尝试了很多事情。

因此,如果没有理由避免升级,只需将luna存储库添加到可用软件站点(Luna http://download.eclipse.org/releases/luna/)和“检查更新”。最好让所有组件具有相同的版本,并且有一些不错的新功能。

答案 10 :(得分:0)

我尝试了这里提到的所有步骤以及类似的问题,但无法解决这个问题。我既不能解决问题也不能更新我的m2eclipse。所以我安装了Eclipse Luna,它解决了我的问题......虽然这意味着我不得不花费大约45分钟来配置我工作区中的所有环境。

答案 11 :(得分:0)

尝试 mvn clean install eclipse:在DOS命令提示符下执行eclipse -Dwtpversion = 2.0命令。 建议你,因为它对我有用!!

答案 12 :(得分:0)

我正在使用带有M2E 1.4.x的Eclipse 4.3.2(Kepler)并多次感受到这个问题!

在我的情况下," mvn eclipse:eclipse"命令还会生成Checkstyle,PMD和Findbugs配置,以便" mvn eclipse:clean"对我没有帮助,因为它会再次丢弃所有这些配置文件。

对我来说最好的解决方案是删除所有" .classpath"文件:

find . -name ".classpath" -delete

然后将项目导入eclipse。

答案 13 :(得分:0)

在导入项目之前,应将其转换为eclipse项目   mvn eclipse:eclipse 然后我发现以下错误。 在以下期间发生内部错误:"导入Maven项目"。不支持的IClasspathEntry种类= 4

值类型=" var" M2E无法识别并因此抛出错误。

现在输入此内容。 mvn eclipse:干净

现在在eclipse中刷新项目或重新导入。