【问题标题】:Convenient way to run eclipse plugin运行eclipse插件的便捷方式
【发布时间】:2014-01-04 17:27:16
【问题描述】:

我最近开始开发一个 Eclipse 插件(现在这是基本的东西),我正在努力使用“默认”方式来运行 Eclipse 插件(“作为 Eclipse 应用程序运行”)。

Eclipse 正在启动另一个实例,其中已经安装了我的插件(这是默认行为)。

问题是,当我想重新运行我的插件项目并再次按下“运行”按钮(或 Ctrl + F11)(并且另一个 Eclipse 实例仍在运行)时,我收到以下消息:

“无法启动应用程序,因为关联的工作区当前正被另一个 Eclipse 应用程序使用”。

这个错误是有道理的,当我关闭“测试”Eclipse 实例时,我可以再次运行我的插件。

问题是 - “插件开发是正常的例程吗?”。也许我错过了一些东西,例如Eclipse 的特殊参数?

【问题讨论】:

    标签: eclipse eclipse-plugin


    【解决方案1】:

    这看起来很正常。错误消息是因为运行配置指定了一个工作区,并且当您使用同一工作区启动第二个实例时,它被锁定并考虑在使用中。

    我在测试插件时通常做的是创建一个运行配置(单击“运行...”),在此我禁用所有我在测试时不需要的插件。这可以确保测试启动快几秒钟。确保将运行配置另存为 *.launch 文件,这样下次测试会更快。或者它可以用来共享配置。

    你可以在运行配置中配置很多东西,比如eclipse参数,vm参数,如果你想设置环境变量等等。所以一定要尝试一下。

    【讨论】:

      【解决方案2】:

      在您的运行配置中。主选项卡->工作区数据->位置文本框添加:

      ${workspace_loc}/../runtime-EclipseApplication${current_date:yyyyMMdd_HHmmss}

      请注意后缀 ${current_date:yyyyMMdd_HHmmss},每次启动应用程序时都会创建新的工作区。因此,您不会收到任何错误消息说工作区已锁定。

      但要小心,因为文件夹 .metadata 对于不同的实例会有所不同,因为它们的工作空间不同。因此,不同实例存储/检索的首选项不同步。

      【讨论】:

      • 这对我来说不是很方便,因为在这种情况下我将不得不重新创建我用来测试我的插件的项目
      【解决方案3】:

      您可能遗漏了重要的一点:Eclipse 支持Java hot code replacement。因此,在许多情况下,您可以在应用程序 Eclipse 实例运行时修改 Java 代码,保存代码并继续操作而不重新启动

      如果无法进行热代码替换,Eclipse 会告诉您,因此您始终知道编辑更改是否应用于正在运行的实例。

      这最适用于较新版本的 JVM,因此请考虑升级到最新的 Java 7 版本,即使您编写的代码与 Java 1.5 或 6 兼容。

      【讨论】:

      • 是的,我知道热替换。实际上,我已经决定单独开发我的插件“处理”代码(就像普通的 java 应用程序一样),然后将它与插件 UI 合并。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-12
      • 2010-11-11
      • 2010-09-06
      • 1970-01-01
      • 2013-03-14
      • 2011-04-03
      • 2015-08-14
      相关资源
      最近更新 更多