Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.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 使用ANT自动切换JDK/JRE版本_Java_Unix_Ant_Javac - Fatal编程技术网

Java 使用ANT自动切换JDK/JRE版本

Java 使用ANT自动切换JDK/JRE版本,java,unix,ant,javac,Java,Unix,Ant,Javac,目前我有一个Java项目需要JRE 1.8。ANT构建脚本用于使用javac任务编译项目,如下所示: <javac includeantruntime="false" source="1.8" target="1.8" srcdir="build/build/src" destdir="build/build/classes" encoding="UTF-8"> 当在使用JRE 1.8的计算机上运行时,这非常有效,但是我现在希望在设置了JRE 1.7作为默认值的计算机上运行该脚

目前我有一个Java项目需要JRE 1.8。ANT构建脚本用于使用
javac
任务编译项目,如下所示:

<javac includeantruntime="false" source="1.8" target="1.8" srcdir="build/build/src" destdir="build/build/classes" encoding="UTF-8">

当在使用JRE 1.8的计算机上运行时,这非常有效,但是我现在希望在设置了JRE 1.7作为默认值的计算机上运行该脚本。JRE 1.8在此计算机上的
/opt
目录中可用,并且在运行
Where is javac
时会列出安装

有没有办法将脚本配置为自动使用JRE 1.8,直接使用
/opt
中的JRE 1.8安装文件?理想情况下,脚本会在应用程序运行后将默认版本恢复为1.7


提前谢谢

可以使用
executable
属性告诉
javac
使用哪个编译器。此属性需要
fork=yes
,即编译器将在单独的进程中运行(详细信息):


<javac srcdir="${src}"
     destdir="${build}"
     fork="yes"
     executable="/opt/java/jdk1.8/bin/javac"
     compiler="javac1.8"
/>