我一直在尝试使用revapi检测公共接口更新何时发生。但是,我无法让命令行脚本运行,因为它在设置时不断失败:
13:26:36.956 [main] DEBUG 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 [errors = [Error [code = 0,dataPath =' / revapi / reporter / text / output',message =' invalid type:null(expected string) )']],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
答案 0 :(得分:2)
试试japicmp。它易于使用且不会失败:
java -jar japicmp-0.6.1-jar-with-dependencies.jar -n new-version.jar -o old-version.jar