什么是编写自定义重构脚本的最佳Java库? - java

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center提供指导。

已关闭8年。

我计划对大型项目进行复杂的重构,默认的ide功能还不够。如果可能,还请提供教程链接。

语言:java,xml

我谈论用于Java重构的编程API

示例我已经在项目中创建了新的api,我想自动折射一些代码以使用它,即ast树的源到源转换

参考方案

总有Eclipse;您应该能够通过其内部过程API访问其Java重构机制。我不知道这些是容易找到还是有据可查的。没有源到源的转换。

有一个名为Jackpot的工具旨在支持该任务。我相信它也仅提供过程API,但我认为它们有据可查。没有源到源转换功能。

我们的DMS Software Reengineering Toolkit及其Java Front End可以用于此目的。

DMS被设计为多种语言的通用程序转换引擎(Java只是碰巧知道的一种)。它可以进行任意代码更改。 DMS提供对AST的解析,符号表构造,AST操作界面(包括OP对模式导向的源到源转换的请求)以及从任何修改的AST再生源文本(包括原始注释,如果未更改的话)。 DMS很高兴读取组成您的应用程序的所有文件,因此您可以轻松进行跨越源文件边界的更改。

人们可能会建议使用一些解析器生成器。虽然解析是必要的,但这还远远不够。解析器无法完成所需的所有其他操作(上述)。

Eclipse Indigo字体已更改 - java

因此,我刚刚升级到Eclipse Indigo,似乎Java文本编辑器字体已更改。好像是Consolas。有人知道以前的默认编辑器字体是什么,以便我可以还原吗?这里的每个人都同时搬到了Indigo,没人知道以前的Eclipse版本中的默认设置是什么... 参考方案 我认为您要寻找的字体是Courier New 10

Eclipse WTP部署的构建路径依赖项 - java

我有一个依赖于其他项目(项目属性/ Java Build Path /项目)的Eclipse项目,而这些其他项目导出它们自己的库(项目属性/ Java Build Path / Order和Export)。有没有办法让Eclipse WTP和/或JBoss工具在部署中包括从属项目的导出文件?我可以通过Deployment Assembly单独添加jar,但是…

Java:正则表达式模式匹配器是否有大小限制? - java

我的模式类似于OR:“word1 | word2 | word3”我大约有800个字。可能有问题吗? 参考方案 您仅受记忆和理智的限制。 :)

Java:线程池如何将线程映射到可运行对象 - java

试图绕过Java并发问题,并且很难理解线程池,线程以及它们正在执行的可运行“任务”之间的关系。如果我创建一个有10个线程的线程池,那么我是否必须将相同的任务传递给池中的每个线程,或者池化的线程实际上只是与任务无关的“工人无人机”可用于执行任何任务?无论哪种方式,Executor / ExecutorService如何将正确的任务分配给正确的线程? 参考方案 …

Eclipse插件“未启用操作” - java

我在Java重构方面苦苦挣扎-我需要编写一个Eclipse插件来重构一些代码。这对我来说真的很困难,而且如果我可以逐步遵循工作代码,那会容易得多。我可以找到的唯一一个相似示例是示例Introduce Indirection。不幸的是,我无法使其真正起作用。我每次尝试都会收到“选择的操作当前不可用”的信息。我已经导入了代码“ Run As-> Eclip…