Eclipse:是否可以通过源代码“附件”编辑已知的Java源代码

时间:2009-05-06 16:59:49

标签: java eclipse jar

我正在使用Eclipse 3.4.2来开发我的代码。作为我的项目定义的一部分,我引用了一个我附加了源代码的实用程序库。到目前为止,非常好 - 当我从库中调出类并且正在调试时,我可以看到该源代码。

现在我想对其中一个类进行更改,同时仍保留Eclipse Java编辑器的所有功能(特别是工具提示和快速修复等功能)。当我查看源代码时,这些功能似乎有效(例如,我可以按CTRL + LClick方法名称),但它是只读的。另一方面,我可以明确打开源文件,这将允许我编辑它,但我失去了所有“智能”编辑功能。

我最近从IntelliJ切换到Eclipse,这是可能的,所以我希望它也在Eclipse中。请注意,虽然我可以简单地将代码作为项目包含在我的工作区中,但我真的不愿意。工作区已经很大了,我不想通过添加我很少会碰到的项目来进一步降低Eclipse的速度。

1 个答案:

答案 0 :(得分:7)

我不确定我的问题是对的。当您将预编译库添加到项目构建路径(JAR)并将源附加到此JAR时,Eclipse将在您单击JAR内的.class时向您显示源代码。调试器也是如此,如果使用行号信息编译JAR中的类,它还允许您遍历源代码中的代码行。

现在你想要做的是修改JAR中的类(源视图只是一个覆盖,甚至可以关闭,如果你附加了不同版本的源),这是不可能的,因为它们在JAR存档中以二进制形式包装 - 即使Eclipse足够聪明,可以单独显示它们。

我猜您希望调试器将您的更改热插拔到正在运行的程序中。只有在完成更改后才能通过重新编译完成此操作。通常,Eclipse会在您保存Java源文件时自动执行此操作。但是,由于源文件不是工作空间的一部分(或显式声明为Java源的外部文件夹),因此不会重新编译和交换。

我建议将外部库的源代码作为项目包含在Eclipse中,而不要过多担心性能 - 我每天使用3.4.2并且我的工作区有大约45个打开的项目,有几个10.000类和数百万代码行。我为Eclipse VM分配了一千兆字节的RAM,并且在Core2Duo 2.6GHz机器上没有任何问题。