lil*_*s27 6 java ant axis javac
我正在尝试运行axis2-ant-plugin-1.6.0.jar\org\apache\axis2\tool\ant\AntCodegenTask用于执行WSDL2Java操作的ant任务.
在ant脚本的顶部,我定义java6.boot.classpath:
<property name="java6.boot.classpath" value="${env.JAVA6_BOOT_CLASSES}"/>
Run Code Online (Sandbox Code Playgroud)
我将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>
Run Code Online (Sandbox Code Playgroud)
然而,试图运行它,我收到了名义错误:
[javac] warning: [options] bootstrap class path not set in conjunction with -source 1.6
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?我觉得我已经为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"/>
Run Code Online (Sandbox Code Playgroud)
或者你真的安装了一个较旧的JVM并相应地调整你的bootclasspath(你需要包括rt.jar,而不是bin文件夹)
在ant build.xml文件中创建一个属性,该属性将指向Java 6rt.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" />
您也可以javac使用bootclasspathattribute 在任务中直接指定bootclasspath
| 归档时间: |
|
| 查看次数: |
6025 次 |
| 最近记录: |