Java代码更改分析工具-例如,告诉我方法签名是否已更改,方法实现
是否有专门针对Java的diff工具,不仅突出显示文件中的差异,而且更加复杂 所谓更复杂,我的意思是它需要2个输入文件,同一个类文件的不同版本,并告诉我如下内容:Java代码更改分析工具-例如,告诉我方法签名是否已更改,方法实现,java,maven,build-automation,build-dependencies,Java,Maven,Build Automation,Build Dependencies,是否有专门针对Java的diff工具,不仅突出显示文件中的差异,而且更加复杂 所谓更复杂,我的意思是它需要2个输入文件,同一个类文件的不同版本,并告诉我如下内容: 字段名已更改 新增新方法 删除的方法 签名已更改的方法 实现已更改的方法(对此不感兴趣) 做了一些谷歌搜索,但找不到类似的东西……我想这可能有助于确定对依赖项的更改是否需要重建特定模块 提前谢谢 编辑: 我想我应该澄清: 我不担心这个工具的GUI,我感兴趣的是通过编程方式调用它 至于我的推理: 如果某些模块/组件的依赖关系发生变
- 字段名已更改
- 新增新方法
- 删除的方法
- 签名已更改的方法
- 实现已更改的方法(对此不感兴趣)
- 如果某些模块/组件的依赖关系发生变化,我需要重建这些模块/组件(这可以为每个组件节省大约1个小时),我将进行训练。。。更详细的解释,但我并不认为这很重要
- 为了用于分析对某些组件所做的更改,我们正试图锁定这些组件并将其视为更稳定的组件,我们试图确保在特定组件中只有很少的方法签名会发生更改
但对于其他需求稍有不同的人,我想推荐。两者都有优点和缺点,但出于我的需要,我最终使用了JDiff。我认为它无法满足您最后一点的要求,而且很难通过编程方式调用它。它所做的是为API差异生成有用的报告。使用Subversion或Git这样的版本控制系统很容易做到。我不明白你为什么想把这些信息输入Maven。你为什么不想每次都重建呢?是的,所以我知道我可以使用文本差异工具,但我更感兴趣的是一个报告上面列出的差异的库,然后可以调用它来确定要构建什么。至于我为什么想知道这一点,我的推理需要一段时间来解释,我希望这不会影响答案。谢谢,我不知道。还是看不出有什么好的理由这么做。在我看来,从自动化构建中节省几秒钟似乎是在浪费时间。这就是我要寻找的!谢谢,如果你想发布一个答案,我会接受的。像Subversion或Git这样的版本控制系统很容易做到。我不明白你为什么想把这些信息输入Maven。你为什么不想每次都重建呢?是的,所以我知道我可以使用文本差异工具,但我更感兴趣的是一个报告上面列出的差异的库,然后可以调用它来确定要构建什么。至于我为什么想知道这一点,我的推理需要一段时间来解释,我希望这不会影响答案。谢谢,我不知道。还是看不出有什么好的理由这么做。在我看来,从自动化构建中节省几秒钟似乎是在浪费时间。这就是我要寻找的!谢谢,如果你想发布一个答案,我会接受。