设置ant bootclasspath:JDK 1.7有一个新的javac警告,用于设置没有bootclasspath的旧源

ini*_*ero 13 java ant javac java-7

如何将ant bootclasspath与-source 1.5 -target 1.5一起设置?

这怎么可能不是1.5 JDK的硬编码路径?我可以将环境变量设置为bootclasspath,类似于如何从ant使用JAVA_HOME吗?

理想情况下,我想做一些事情,例如设置环境变量或将参数传递给ant.

mar*_*ton 16

以下是如何从环境变量中获取Java 5引导类位置,然后使用它的说明.

首先,设置环境变量 - 比如说JAVA5_BOOTCLASSES.该property任务使您可以访问环境,然后任务bootclasspath参数将设置传递给编译器.javac

<property environment="env" />
<property name="java5.boot.classpath" value="${env.JAVA5_BOOTCLASSES}" />

<javac source="1.5" target="1.5"
       bootclasspath="${java5.boot.classpath}"
       ...
/>
Run Code Online (Sandbox Code Playgroud)

请注意,如果未设置环境变量,Ant将忽略它并继续运行 - 因此编译器将回退到默认的引导类路径.

如果合适,另一个选项是关闭警告,而不是打扰bootclasspath.就像是

<javac srcdir= ... >
    <compilerarg arg="-Xlint:-options" />
</javac>
Run Code Online (Sandbox Code Playgroud)

但这可能会让你暴露出一些微妙的错误.