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

xmq68pz9  于 2021-06-29  发布在  Java
关注(0)|答案(3)|浏览(961)

我正在尝试运行一个使用 axis2-ant-plugin-1.6.0.jar\org\apache\axis2\tool\ant\AntCodegenTask 执行 WSDL2Java 操作。
在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

有什么想法吗?我觉得我已经为Java1.6适当地设置了引导类路径,但是ant似乎不同意。

hfwmuf9z

hfwmuf9z1#

我将java6\u boot\u classes环境变量设置为c:\dev\java\64位\jdk-1.6.0\u 45\bin。
这就是问题所在。将bootclasspath设置为指向包含rt.jar的目录。它应该是这样的:c:\dev\java\64位\jdk-1.6.0\u45\jre\lib

bvn4nwqk

bvn4nwqk2#

在蚂蚁里 build.xml 文件创建一个指向Java6的属性
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 属性

7vhp5slm

7vhp5slm3#

这不是ant而是jdk的javac发出的警告。
如果使用Java7的javac和-source来处理小于7javac的任何东西,那么还应该将引导类路径设置为指向旧的rt.jar,因为这是确保结果在旧的vm上可用的唯一方法。
https://blogs.oracle.com/darcy/entry/bootclasspath_older_source
这只是一个警告,因此您可以忽略它,甚至使用

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

或者,您可以安装一个旧的jvm并相应地调整bootclasspath(您需要包括 rt.jar ,而不是 bin 文件夹)

相关问题