23

在最近从 Ant 转换为 Maven 之后,在 Eclipse 准备启动项目时,运行在 Maven 之前立即启动的配置会花费过多的时间并消耗异常数量的资源。

Eclipse 显示此状态消息:

Verifying launch attributes...

在完成 57% 时,Eclipse 会挂起几分钟,然后才最终启动运行配置。一旦启动,该项目运行良好,没有问题。

我发现这篇博客文章建议清理本地工作区,但这并没有解决问题,特别是考虑到作者使用的是 Git 而我不是。

我只使用最新的 m2e maven 插件和最新版本的 Eclipse。

是什么导致 Eclipse 在启动这些运行配置时阻塞,我该如何解决?

4

8 回答 8

14

我有同样的症状。我可以通过调整来解决它

Eclipse -> Preferences -> Maven -> User Settings

我的 Maven 用户设置文件存储在远程文件夹中。将文件移动到本地磁盘后,测试现在立即再次开始。

于 2013-08-02T11:32:28.377 回答
2

这可能是由项目.classpath文件中的重复/错误条目引起的。这些条目不是必需的,因为 maven 插件将负责正确设置类路径以启动您的项目。

为防止 Eclipse 挂起,请打开所有引用项目的.classpath文件,这些文件应位于项目的根目录中。

删除所有具有src作为其kind属性值的条目。

例如:

<classpathentry kind="src" path="src"/>

删除所有这些条目后,Eclipse 现在将立即启动您的项目。

于 2012-09-12T20:51:05.827 回答
2

我知道这是一个相当老的问题,但我已经有一段时间了这个问题,网上找到的解决方案似乎都不起作用:

  • 禁用 IPv6:没用
  • 禁用 Ivy 类路径解析:不适用
  • 移动 Maven 设置:不适用
  • 从 .classpath 中删除 src 类路径条目:这会从 Eclipse 中删除所有源文件夹

我最终发现(不知何故)在您的工作区中有重复的.classpath文件会导致严重的问题。导入多模块 maven 项目时,您可以通过导入所有模块主模块(pom 类型模块)轻松完成此操作。这样做,您可以有效地将所有内容导入两次。在 Eclipse 中关闭这个主模块为我解决了这个问题。另一种解决方法是不依赖 m2eclipse 并使用mvn eclipse:eclipse然后将您的项目作为“现有项目”导入。

于 2014-12-24T12:19:54.120 回答
2

不幸的是,在 Eclipse 中启动的进度信息不是很准确。57% 的值是所有艰苦工作发生的地方(参见例如错误 354338)。

如果您要启动Eclipse ApplicationJUnit Plug-in Tests,请确保您的目标平台中有以下插件:

  • org.junit
  • org.eclipse.jdt.junit.runtime
  • org.eclipse.jdt.junit4.runtime
  • org.eclipse.pde.junit.runtime

否则 Eclipse 将搜索整个 p2 缓存(在我的情况下,超过 6000 个插件 jar,需要 > 5 分钟)以查找这些插件。

于 2015-12-18T09:23:02.173 回答
1

我知道这是一个非常古老的线程,但我只是遇到了它,并想让任何看到这个的人知道我是如何解决它的;也许它会帮助下一个人。我在工作时换了一台新电脑,因为懒惰,我只是将我的本地 Maven 存储库(%UserProfile%.m2)从旧电脑复制到新电脑。在遇到“启动属性”问题并尝试其他所有方法后,我将本地 Maven 存储库移动到另一个位置,以便 eclipse 将被迫重建本地 Maven 存储库。这几乎解决了问题。虽然我有时在启动时偶尔会延迟 2-5 秒,但与之前的 30-90 秒相比,这是一个很大的改进。快乐编码。

于 2019-12-04T00:28:36.690 回答
0

我发现这种方法可以避免在 Eclipse-Luna-SR2 中“验证启动属性... 57%”

  1. 在不同的项目中有启动配置和主类
  2. 从启动配置中删除以下行:

    <stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.m2e.launchconfig.classpathProvider"/>
    
于 2015-04-10T14:31:39.693 回答
0

产生巨大差异的一件事是您如何告诉 Eclipse 您要运行哪些测试。

指定项目名称时,我们的测试可能需要超过 5 分钟才能被发现(57%)。

如果我们宁愿指定包含测试源文件的目录,我们将缩短到不到 30 秒。

Eclipse Run config 指定必须运行哪些测试

于 2019-05-31T21:16:56.730 回答
0

在 eclipse 2018-12 中,每次启动主类或 junit 测试时,我在“57%,验证启动属性”处有大约 10 秒的延迟。在此期间,我使用 Windows 工具“procMon”识别了大约 500.000 次失败的对 jar 的访问,而我的类路径中没有这些访问。我在我使用的许多 jar 的清单“类路径”条目中找到了这些 jar 引用。从所有 jar 中删除 Class-Path 条目后,延迟现在只有 1 秒!

一些罐子是签名的。然后我也必须从 jar 中删除签名文件 ( META-INF/*.SF|*.DSA|*.RSA|*.EC)。

于 2019-04-15T07:35:27.517 回答