如何在NetBeans中为ANT设置java编译器



在NetBeans中,我有一个build.xml,上面写着:

<target name="print-version"> 
   <echo>Java/JVM version: ${ant.java.version}</echo> 
   <echo>Java/JVM detail version: ${java.version}</echo> 
</target>
ant -f C:\DTE-master -Dbuild.compiler=javac1.7 print-version
print-version:
Java/JVM version: 1.8
Java/JVM detail version: 1.8.0_51
BUILD SUCCESSFUL (total time: 0 seconds)

但是我需要用jdk 1.7 u21编译

为了达到这个目的,我引入了这个命令:
<xmlbean classgendir="${classes.dir}" srcgendir="${generated.dir}" fork="yes" executable="C:Program FilesJavajdk1.7.0_21binjavac.exe">

使用jdk 1.7 u21仍然无法编译

怎么了?谢谢。

您可以使用上面的代码将一个项目编译成jar文件:

<target name="your name app" depends="jar">
        <property name="store.jar.name" value="your name app"/>
        <property name="store.dir" value="store"/>
        <property name="store.jar" value="${store.dir}/${store.jar.name}.jar"/>
        <echo message="Packaging ${application.title} into a single JAR at ${store.jar}"/>
        <delete dir="${store.dir}"/>
        <mkdir dir="${store.dir}"/>
        <jar destfile="${store.dir}/temp_final.jar" filesetmanifest="skip">
            <zipgroupfileset dir="dist" includes="*.jar"/>
            <zipgroupfileset dir="dist/lib" includes="*.jar"/>
            <manifest>
                <attribute name="Main-Class" value="${main.class}"/>
            </manifest>
        </jar>
        <zip destfile="${store.jar}">
            <zipfileset src="${store.dir}/temp_final.jar"
                    excludes="META-INF/*.SF, META-INF/*.DSA, META-INF/*.RSA"/>
        </zip>
        <delete file="${store.dir}/temp_final.jar"/>
</target>

关于jdk 1.7,您可以通过右键单击project,选择properties来更改它。在"Sources/Binary format"中选择"JDK 7",单击"ok"。您的项目将在jdk 1.7中运行