我一直在尝试使用revapi来检测何时发生公共接口更新。但是,我无法使命令行脚本运行,因为它在设置时不断失败:


  13:26:36.956 [main]调试oeaiiDefaultDependencyCollector-依赖项收集状态:{ConflictMarker.analyzeTime = 0,ConflictMarker.markTime = 0,ConflictMarker.nodeCount = 1,ConflictIdSorter.graphTime = 0,ConflictIdSorter.topsortTime = 0,ConflictIdSorter.conflictIdCount = 1,ConflictIdSorter.conflictIdCycleCount = 0,ConflictResolver.totalTime = 0,ConflictResolver.conflictItemCount = 1,DefaultDependencyCollector.collectTime = 10,DefaultDependencyCollector.transformTime = 0}
  org.revapi.configuration.ConfigurationException:ValidationResult [错误= [错误[code = 0,dataPath ='/ revapi / reporter / text / output',消息='无效类型:null(预期的字符串)']],missingSchemas = null ]
          在org.revapi.Revapi.analyze(Revapi.java:345)
          在org.revapi.standalone.Main.run(Main.java:336)
          在org.revapi.standalone.Main.main(Main.java:259)


命令行参数:

revapi.sh -e org.revapi:revapi-java:0.5.2,org.revapi:revapi-reporting-text:0.3.4 --old=my-api.-1.0.0.jar --new=my-api.-1.0.1.jar -D revapi.reporter.text.minSeverity=BREAKING

最佳答案

只需尝试japicmp。它易于使用且不会失败:

java -jar japicmp-0.6.1-jar-with-dependencies.jar -n new-version.jar -o old-version.jar

09-30 15:08