当前位置: 首页 > 知识库问答 >
问题:

Ant尝试在目标设置为1.5时编译到1.6

薄鸿远
2023-03-14

我现在已经为javac ant任务问题苦苦挣扎了很长时间。问题是ant显然忽略了设置为1.5的target属性:

    <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>

目标和源设置为1.5。运行任务时出现编译错误:

foo.Bar is not abstract and does not override abstract method createStruct(java.lang.String,java.lang.Object[]) in java.sql.Connection

根据java docs(link)方法,createStruct是在Java1.6中引入的,所以我知道ant是在编译到1.6而不是像我礼貌地要求的那样编译到1.5。

我已经尝试了所有我能在网上找到的,现在我放弃了。有人能帮帮我吗?非常请..

共有1个答案

南宫建白
2023-03-14

指定源代码兼容性只控制语言语法,而不是Java运行库。

由于您还没有告诉Ant在哪里可以找到Java1.5运行时库,所以它使用的是用于调用Ant的相同库。

若要修复,请指定bootclasspathref=“compile.bootclasspath”属性。

<path id="compile.bootclasspath">
    <fileset dir="${java15.home}/jre/lib" includes="*.jar"/>
</path>
 类似资料:
  • 在尝试编译xml模式时,我看到了一个异常,似乎在一些sun类中。

  • 编译为裸机目标 在默认情况下,Rust 尝试适配当前的系统环境,编译可执行程序。举个例子,如果你使用 x86_64 平台的 Windows 系统,Rust 将尝试编译一个扩展名为 .exe 的 Windows 可执行程序,并使用 x86_64 指令集。这个环境又被称作为你的宿主系统(Host System)。 为了描述不同的环境,Rust 使用一个称为目标三元组(Target Triple)的字符

  • 问题内容: 这是我的ANT JUnit目标 如果通过Eclipse运行,我的单元测试可以通过,但是如果我通过ANT对其进行洗衣,则单元测试将失败。我希望它在单元测试的中断点停止。从文档中我知道我需要添加这些jvmarg,但是无法使其停止,因此显然我没有将它们放在正确的位置。另外,我认为端口不正确,但是应该使用哪个端口?通过Eclipse调试JUnit时,我不必设置任何调试端口,它可以正常工作 问题

  • 我担心我应该将、和设置为什么。 > 我首先担心的是,如果我将 设置为 23,这是现在最新的版本,旧设备是否能够运行它? 我如何确切地知道我的< code>minSdkVersion应该是什么,以确保运行较低api或版本的手机无法访问它(我不想将最低sdk设置得太高,因为这会阻止可能运行该应用程序的手机)? 我应该如何设置我的 ?

  • 当我尝试编译项目时,我收到了这个错误: java版本 OpenJDK版本“11.0.2”2019-01-15 OpenJDK运行时环境(build 11.0.2 9-Debian-3)OpenJDK 64位服务器VM(build 11.0.2 9-Debian-3,混合模式,共享) mvn-版本 Maven home:/usr/share/Maven Java版本:11.0.2,供应商:Oracl

  • 我正在尝试针对一个示例项目运行一个maven目标,同时增加一个新项目。我对Mac和IntelliJ都是新手(我在评估它时与Eclipse Luna并排运行社区版)。这一切都适用于Eclipse和终端。 我遇到的问题是让Maven在Java8中运行它。我已经将JAVA_HOME配置为1.8,将项目JDK设置为1.8,将语言级别设置为1.8,等等。代码经过编译(使用lambdas),因此Intelli