413

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

"Updating Maven Project". Unsupported IClasspathEntry kind=4

有解决方法吗?

4

15 回答 15

613

此问题已在 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 条目时,它会抛出此错误。

更新站点在以下 url 中指定: 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/文件/目录。您也可以只删除这些文件(再次在项目打开时)而不是运行mvn eclipse:clean。)

  3. 重新启用 Maven 自然。
    (大多数情况下,这可以通过在包资源管理器窗格中右键单击有问题的项目,然后选择“配置”->“转换为 Maven 项目”来完成)

于 2012-05-14T00:48:55.213 回答
63
  1. 右键单击您的项目,选择 Maven -> Remove Maven Nature。

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

  3. 右键单击您的项目并选择“配置 -> 转换为 Maven 项目”</p>

现在“Unsupported IClasspathEntry kind=4 Eclipse Scala”消失了。

于 2012-10-15T09:06:37.987 回答
44

有时,即使重新导入 Maven 项目也不起作用。在 Eclipse 中正确更新项目不是一个确定性的过程。我发现的唯一 100% 故障安全程序是:

  1. 禁用 Maven Nature,运行mvn eclipse:clean,重新启动,交叉手指和祈祷3 次。
  2. 如果这不起作用,请删除项目,运行mvn eclipse:clean,重新导入刷新,祈祷并使用原力
  3. 如果这仍然不起作用,请重新启动 Eclipse,或者甚至更好地使用您的计算机。在等待重新启动时,您可以进行随机捐赠以修复您的 Karma。重复步骤 2,不要忘记祈祷并控制你的愤怒。愤怒导致仇恨。仇恨导致痛苦。
  4. 尝试此线程中发布的所有其他答案。在放弃之前,您可能需要至少尝试 3 次。
  5. 格式化您的计算机,重新安装 Eclipse 和 Maven。不用再祈祷了,反正所有的神都恨你
  6. 删除您的 git 项目,刻录存储远程存储库的物理驱动器,然后从头开始编写您的项目。
  7. 找一台时光机,穿越到过去,说服自己从事另一个非编程职业,或者至少避免使用 Java
于 2014-03-24T12:44:32.173 回答
12
  1. 确保您正在运行的 m2e(clipse) 插件的版本至少为 1.1.0

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

  3. 手动删除 .classpath 文件中所有带有 kind="var" 的类路径条目
  4. 打开项目

或者

  1. 删除 Maven 项目
  2. Manualy rmeove .classpath 4 重新导入项目
于 2012-08-21T13:40:23.913 回答
6

你有没有尝试过:

  1. 如果您已经将项目导入 eclipse 4,请将其删除。
  2. 在 maven consol 中,运行: mvn eclipse:clean
  3. 在 Eclipse 4 中:文件 -> 导入 -> Maven -> 现有的 Maven 项目
于 2012-08-26T08:46:36.993 回答
3

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

我刚刚删除了包含 var 的 .classpath (用 eclipse 编辑)中的所有行,并使用 maven -> update project 没有错误。

于 2014-03-11T09:13:08.473 回答
2

如果在使用 Clover 检测代码覆盖率的项目上使用更新命令,也会引发此错误。

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

于 2012-07-26T15:04:52.387 回答
0

我尝试了 Marco 的步骤,但没有运气。相反,如果您只是从他提供的链接中获取最新的 m2e 插件,并一一右键单击每个项目 -> Maven -> 更新依赖项,错误仍然会弹出,但问题已解决。也就是说,警告在标记视图中消失了。我在将一些项目导入 SpringSource Tool Suite (STS) 后遇到了这个问题。当我返回我的 Eclipse Juno 安装时,正在显示警告。看到我已经安装了 m2e 1.1,我尝试了 Marco 的步骤,但无济于事。但是,获取最新版本已修复它。

于 2012-08-02T08:06:51.073 回答
0

我无法让 mvn eclipse:clean 等与开普勒一起工作。

但是,我将创建和扩展变量更改为仅在 Eclipse 类路径中使用外部 jar。这反映在我的 .classpath 中没有 var。

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

于 2013-10-01T14:40:50.393 回答
0

此问题 ( https://bugs.eclipse.org/394042 ) 已在 m2e 1.5.0 中修复,此 p2 repo 可用于 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

于 2014-05-10T13:37:32.973 回答
0

从 Kepler 升级到 Luna 对我有用。

我刚刚为 Java 1.8 支持添加了一些组件。似乎它们不像我想要的那样兼容,或者我混合了错误的。确实带来了很多问题。尝试更新系统报告错误,因为它们无法满足某些依赖项。Maven 升级不起作用。尝试了很多东西。

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

于 2014-09-08T10:33:22.843 回答
0

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

于 2014-10-20T09:12:02.803 回答
0

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

于 2015-01-07T11:30:48.753 回答
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。

于 2015-03-18T15:31:01.940 回答
0

导入项目前要先转换成eclipse项目 mvn eclipse: eclipse 然后发现如下错误。在“导入 Maven 项目”期间发生内部错误。不支持的 IClasspathEntry kind=4

M2E 无法识别并因此引发错误的值 kind = "var" 在哪里。

现在输入这个。mvn eclipse: 清洁

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

于 2018-06-01T09:21:12.360 回答