繁体   English   中英

Ant javac任务出错:[javac]警告:[options] bootstrap类路径未与-source 1.6一起设置

[英]Ant javac task errs out: [javac] warning: [options] bootstrap class path not set in conjunction with -source 1.6

我正在尝试运行一个使用axis2-ant-plugin-1.6.0.jar\\org\\apache\\axis2\\tool\\ant\\AntCodegenTask来执行WSDL2Java操作的axis2-ant-plugin-1.6.0.jar\\org\\apache\\axis2\\tool\\ant\\AntCodegenTask任务。

在ant脚本的顶部,我定义了java6.boot.classpath

    <property name="java6.boot.classpath" value="${env.JAVA6_BOOT_CLASSES}"/>

我将JAVA6_BOOT_CLASSES环境变量设置为C:\\dev\\java\\64-bit\\jdk-1.6.0_45\\bin

相关的蚂蚁目标如下:

<!-- dist.jar target -->
<target name="dist.jar" depends="generate"
    description="Creates the web services client jar file">
    <echo>Compiling web services client code</echo>

    <javac srcdir="${project.javapath}" destdir="${build}" 
           source="1.6" target="1.6" 
           debug="true" debuglevel="lines,vars,source" 
           excludes="com/company/junit/**"
           bootclasspath="${java6.boot.classpath}"
           includeantruntime="false">

        <classpath refid="compile.classpath" />
    </javac>

    <echo>Creating ${jarname}.jar</echo>
    <jar destfile="${dist}/${jarname}.jar" basedir="${build}" />
    <echo>${jarname}.jar created</echo>
</target>

然而,试图运行它,我收到了名义错误:

 [javac] warning: [options] bootstrap class path not set in conjunction with -source 1.6  

有任何想法吗? 我觉得我已经为Java 1.6正确设置了启动类路径,但是ant似乎并不同意。

这不是Ant,而是JDK的javac发出警告。

如果您使用Java 7的javac和-source来解决任何小于7的问题,那么您应该将引导类路径设置为指向较旧的rt.jar - 因为这是确保结果在较旧的VM上可用的唯一方法。

https://blogs.oracle.com/darcy/entry/bootclasspath_older_source

这只是一个警告,所以你可以忽略它,甚至用它来压制它

<compilerarg value="-Xlint:-options"/>

或者你真的安装了一个较旧的JVM并相应地调整你的bootclasspath(你需要包含rt.jar ,而不是bin文件夹)

在ant build.xml文件中,创建一个指向Java 6 rt.jar的属性

<path id="boot.classpath" location="C:/Program Files (x86)/Java/jre6/lib/rt.jar" />

并在javac任务中引用它:

<javac srcdir="${src}" bootclasspathref="boot.classpath" classpathref="classpath" includeantruntime="false" destdir="${build}" source="1.6" target="1.6" />

您还可以使用bootclasspath属性直接在javac任务中指定bootclasspath

我将JAVA6_BOOT_CLASSES环境变量设置为C:\\ dev \\ java \\ 64-bit \\ jdk-1.6.0_45 \\ bin。

这就是问题。 将bootclasspath设置为指向包含rt.jar的目录。 它应该是:C:\\ dev \\ java \\ 64-bit \\ jdk-1.6.0_45 \\ jre \\ lib

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM