如何在Java1.7上运行JDiff
我有一个java项目,它使用java 1.7特性,我想用这个项目的两个版本生成一个JDiff文档,我的ant build.xml是这样的:如何在Java1.7上运行JDiff,java,ant,diff,Java,Ant,Diff,我有一个java项目,它使用java 1.7特性,我想用这个项目的两个版本生成一个JDiff文档,我的ant build.xml是这样的: <?xml version="1.0" encoding="UTF-8"?> <project name="jdiff" default="jdiff_report" basedir="."> <target name="jdiff_report" depends=""> <property name="JDI
<?xml version="1.0" encoding="UTF-8"?>
<project name="jdiff" default="jdiff_report" basedir=".">
<target name="jdiff_report" depends="">
<property name="JDIFF_HOME" value="/Users/Desktop/diffSource/jdiff-1.1.1" />
<taskdef name="jdiff" classname="jdiff.JDiffAntTask" classpath="${JDIFF_HOME}/antjdiff.jar" />
<jdiff destdir="./" verbose="off" stats="off" docchanges="on">
<old name="Project.previous">
<dirset dir="/Users/Desktop/diffSource/docs/old"
includes="com/**"/>
</old>
<new name="Project.current">
<dirset dir="/Users/Desktop/diffSource/docs/new"
includes="com/**"/>
</new>
</jdiff>
</target>
</project>
由于存在错误,我无法获取java类的相应xml,以便JDiff进行比较。我已经看到,
jdiff
不接受target
属性,那么我如何告诉ant使用Java1.7来完成这个任务呢?看来jdiff-ant任务支持一个source
属性,该属性为特定版本的java配置任务。例如:
<jdiff destdir="./" verbose="off" stats="off" docchanges="on" source="1.7">
...
</jdiff>
...
在上面的示例中,
source=“1.7”
配置JDiff,以便它可以处理Java 1.7代码。如果您使用maven repos,您可以使用
通过执行以下命令,您可以从Ant轻松使用它:
<exec executable="java">
<arg value="-jar"/>
<arg value="spf4j-jdiff-maven-plugin-8.5.6-uber.jar"/>
<arg value="-gId"/>
<arg value="artfGroupId"/>
<arg value="-aId"/>
<arg value="artifactId"/>
<arg value="-fromVersion"/>
<arg value="1.0"/>
<arg value="-toVersion"/>
<arg value="3.0"/>
<arg value="-o"/>
<arg value="target/destination"/>
</exec>
它将在您从maven repo指定的版本之间生成API差异报告。这非常有效!请问您是如何理解这个
source
属性的?我找到了。在源代码中,我看到有一个名为setSource
的方法。在Ant中,任何以“set”开头的Java方法都是可以在XML中设置的属性。谢谢!
<exec executable="java">
<arg value="-jar"/>
<arg value="spf4j-jdiff-maven-plugin-8.5.6-uber.jar"/>
<arg value="-gId"/>
<arg value="artfGroupId"/>
<arg value="-aId"/>
<arg value="artifactId"/>
<arg value="-fromVersion"/>
<arg value="1.0"/>
<arg value="-toVersion"/>
<arg value="3.0"/>
<arg value="-o"/>
<arg value="target/destination"/>
</exec>