gpt4 book ai didi

java - Eclipse - 记录并应用移动和重命名重构到另一个工作区

转载 作者:搜寻专家 更新时间:2023-11-01 03:42:35 25 4
gpt4 key购买 nike

我目前在一个大型 Java 项目中工作,其中有很多由不同团队开发的子模块。其中一些团队正在构建“框架”,其他团队正在构建基于框架的“应用程序”。

当框架人员移动或重命名一个类时,应用程序人员在使用重构框架类的任何地方都会遇到编译错误。 Eclipse(Galileo Release)是否有办法记录更改并更新另一个工作区中的引用?

到目前为止我尝试的是在重命名重构期间创建一个重构脚本,但是当我尝试将该脚本应用于另一个工作区时,它失败了 The refactoring 'Rename Type' (org.eclipse.jdt .ui.rename.type) 无法执行,因为它的输入 'xxx.TestClass"不存在。嗯,它不存在(不再)好吧,但我想要的是 的所有引用xxx.TestClass 在我的项目中更改为 xxx.MyRenamedTestClass。Eclipse 中是否有一种方法可以使用内置功能或现有插件来执行此操作,或者我是否必须编写一个我自己?

感谢您的帮助!

编辑:到目前为止,我发现“迁移 JAR”插件提供了我正在寻找的功能,尽管我们使用 Maven 而不是 Eclipse 构建 JAR。我现在正在查看源代码以找出可以重用的部分。

最佳答案

回答我自己的问题以在这里结束。

最简单的方法是使用 Migrate JAR File... 重构,它使用 META-INF 中名为 REFACTORINGS.XML 的重构脚本。您可以通过在 Eclipse 中使用 Export JAR 自动获取包含此内容的 JAR。我们使用 Maven 进行构建,因此只需执行 Refactoring->Create Script... 并将其放入 JAR 中的适当位置。

Migrate JAR 执行的 JDT 内部代码在临时源文件夹中为源类创建 stub ,因此它实际上首先执行重构,然后更新引用。用户永远看不到这些临时文件。

关于java - Eclipse - 记录并应用移动和重命名重构到另一个工作区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10878091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com