我正在努力解决javac ant任务问题很长一段时间了。问题在于显然ant忽略了目标属性,该属性设置为1.5:
Failed to load resource: the server responded with a status of 404 (Not Found). http://127.0.0.1:9000/images/image.svg
目标和来源设置为1.5。 当我运行任务时,我有编译错误:
<target name="compile" description="Kompilacja zrodel" depends="init">
<javac target="${compile.targetvm}" source="${compile.sourcecompatibility}" debug="${compile.debug}" optimize="${compile.optimize}" verbose="${compile.verbose}" srcdir="${source.dir}" destdir="${build.classes.dir}" encoding="${compile.source.encoding}" includeantruntime="false">
<classpath refid="compile.classpath" />
</javac>
</target>
根据java docs(link)方法,java 1.6中引入了createStruct,所以我知道ant正在编译为1.6而不是1.5,因为我礼貌地要求他这样做。
我从eclipse和命令行运行任务的结果相同,所以这不是日食问题。我试图改变ANT中的JRE并使用不同的ANT版本并没有任何帮助。
我已经尝试过我能在网上找到的所有东西,现在我放弃了。有人能帮助我吗?非常好..
答案 0 :(得分:0)
指定源兼容性仅控制语言语法,而不是Java运行时库。
由于您还没有告诉Ant在哪里可以找到Java 1.5运行时库,因此它使用的是用于调用Ant的相同库。
要修复,请同时指定bootclasspathref="compile.bootclasspath"
属性。
compile.bootclasspath
的定义如下:
<path id="compile.bootclasspath">
<fileset dir="${java15.home}/jre/lib" includes="*.jar"/>
</path>
显然java15.home
是什么。 ; - )