【问题标题】:Lookup source of application internal impl without having them as dependancies to our project in eclipse查找应用程序内部 impl 的源,而不将它们作为我们在 Eclipse 中的项目的依赖项
【发布时间】:2026-01-21 00:05:01
【问题描述】:

我正在为 Web 应用程序开发插件(它与 Liferay 一起使用,但它确实适用于许多其他情况)。我的项目依赖于主应用程序的公共接口库,但显然不依赖于其内部实现。

当调试或只是试图了解一个记录不充分的方法的作用时,我希望能够导航到应用程序内部。我实际上可以导入整个应用程序项目并为其添加一个 Eclipse 项目引用。这种方式需要 Eclipse 构建和验证整个应用程序项目,并减慢 eclipse 中的很多事情。

我想做的是能够以类似于直接项目依赖项的方式引用这些源。有没有办法用 eclipse 做这样的事情?

【问题讨论】:

  • 你使用什么进行依赖管理?马文?摇篮?还有什么?
  • 我使用 maven,但我不想在 pom.xml 中添加依赖项。该应用程序无论如何都不能作为工件提供。

标签: java eclipse dependencies


【解决方案1】:

如果您没有 impl 源的工件(或者您暂时不愿意添加对它的依赖项),那么我能想到的唯一选择是将其作为项目导入 Eclipse 并turn off the auto build functionality。但由于这是一个工作区范围的选项,这样做也会禁用自动构建您自己的项目 - 在此模式下操作时您必须manually build your project

为了避免这种权衡,您可以创建一个新的工作区,在其中导入主应用程序 impl 并在 那个 工作区中禁用自动构建。然后,您必须在项目工作区和应用程序 impl 工作区之间来回切换,但这可能对您来说是可以接受的。

话虽如此,但我不确定为什么这一切都是必要的。导入和构建大型应用程序可能需要一些时间,但一旦完成,只要您不接触该应用程序项目中的任何文件,它就不会对 Eclipse 的操作产生任何影响。

【讨论】:

  • 我已经尝试了这三种方式。关闭自动构建很痛苦,我确实尝试过仅为整个应用程序项目禁用 java 构建,但这使得它几乎没有用,因为该项目甚至没有“索引”。我使用了很长时间的单独工作区,这可能是最好的解决方案,直到我必须在两个工作区之间进行调试并且发现 impl 代码必须手动完成而不是 ctrl+click。
  • 不将整个应用程序放在同一个工作区的原因是 Eclipse 在许多情况下都会挂起(自动完成、无范围搜索),甚至有时会崩溃。我不在乎最初的构建,它在持续使用中运行不佳。不过,还是感谢您的建议。
  • 这听起来像你有其他事情发生(错误) - 许多人每天都在他们的工作空间中处理大型项目/应用程序,而没有这样的挂起/崩溃。考虑将详细信息作为单独的问题发布。
  • 我会再试一次,看看新的 Eclipse 是如何处理它的。
最近更新 更多