Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java代码更改分析工具-例如,告诉我方法签名是否已更改,方法实现_Java_Maven_Build Automation_Build Dependencies - Fatal编程技术网

Java代码更改分析工具-例如,告诉我方法签名是否已更改,方法实现

Java代码更改分析工具-例如,告诉我方法签名是否已更改,方法实现,java,maven,build-automation,build-dependencies,Java,Maven,Build Automation,Build Dependencies,是否有专门针对Java的diff工具,不仅突出显示文件中的差异,而且更加复杂 所谓更复杂,我的意思是它需要2个输入文件,同一个类文件的不同版本,并告诉我如下内容: 字段名已更改 新增新方法 删除的方法 签名已更改的方法 实现已更改的方法(对此不感兴趣) 做了一些谷歌搜索,但找不到类似的东西……我想这可能有助于确定对依赖项的更改是否需要重建特定模块 提前谢谢 编辑: 我想我应该澄清: 我不担心这个工具的GUI,我感兴趣的是通过编程方式调用它 至于我的推理: 如果某些模块/组件的依赖关系发生变

是否有专门针对Java的diff工具,不仅突出显示文件中的差异,而且更加复杂

所谓更复杂,我的意思是它需要2个输入文件,同一个类文件的不同版本,并告诉我如下内容:

  • 字段名已更改
  • 新增新方法
  • 删除的方法
  • 签名已更改的方法
  • 实现已更改的方法(对此不感兴趣)
做了一些谷歌搜索,但找不到类似的东西……我想这可能有助于确定对依赖项的更改是否需要重建特定模块

提前谢谢

编辑:

我想我应该澄清:

我不担心这个工具的GUI,我感兴趣的是通过编程方式调用它

至于我的推理:

  • 如果某些模块/组件的依赖关系发生变化,我需要重建这些模块/组件(这可以为每个组件节省大约1个小时),我将进行训练。。。更详细的解释,但我并不认为这很重要
  • 为了用于分析对某些组件所做的更改,我们正试图锁定这些组件并将其视为更稳定的组件,我们试图确保在特定组件中只有很少的方法签名会发生更改
你上面说的就是你要找的

但对于其他需求稍有不同的人,我想推荐。两者都有优点和缺点,但出于我的需要,我最终使用了JDiff。我认为它无法满足您最后一点的要求,而且很难通过编程方式调用它。它所做的是为API差异生成一个有用的报告。

您在上面说过,这就是您要寻找的


但对于其他需求稍有不同的人,我想推荐。两者都有优点和缺点,但出于我的需要,我最终使用了JDiff。我认为它无法满足您最后一点的要求,而且很难通过编程方式调用它。它所做的是为API差异生成有用的报告。

使用Subversion或Git这样的版本控制系统很容易做到。我不明白你为什么想把这些信息输入Maven。你为什么不想每次都重建呢?是的,所以我知道我可以使用文本差异工具,但我更感兴趣的是一个报告上面列出的差异的库,然后可以调用它来确定要构建什么。至于我为什么想知道这一点,我的推理需要一段时间来解释,我希望这不会影响答案。谢谢,我不知道。还是看不出有什么好的理由这么做。在我看来,从自动化构建中节省几秒钟似乎是在浪费时间。这就是我要寻找的!谢谢,如果你想发布一个答案,我会接受的。像Subversion或Git这样的版本控制系统很容易做到。我不明白你为什么想把这些信息输入Maven。你为什么不想每次都重建呢?是的,所以我知道我可以使用文本差异工具,但我更感兴趣的是一个报告上面列出的差异的库,然后可以调用它来确定要构建什么。至于我为什么想知道这一点,我的推理需要一段时间来解释,我希望这不会影响答案。谢谢,我不知道。还是看不出有什么好的理由这么做。在我看来,从自动化构建中节省几秒钟似乎是在浪费时间。这就是我要寻找的!谢谢,如果你想发布一个答案,我会接受。