如何使用 Java 10、Ant 和 Eclipse 编译器编译此代码?

2024-06-22

我正在尝试使用 Java 10、Ant 和 Eclipse 编译器编译这个简单的代码:

import java.util.ArrayList;
import javax.xml.bind.JAXBException;

class Test {
    void foo() throws JAXBException {
        throw new JAXBException("hi there");
    }

    void bar() {
        new ArrayList<String>();
    }
}

这是我正在使用的 Ant 文件:

<project name="Java 10 test">

    <target name="compile-javac" depends="clean, print-version-info">
        <javac release="10" includeantruntime="false">
            <src path="."/>
            <compilerarg value="--add-modules"/>
            <compilerarg value="java.xml.bind"/>
        </javac>
    </target>

    <target name="compile-ecj-4.7" depends="clean, print-version-info">
        <javac compiler="org.eclipse.jdt.core.JDTCompilerAdapter"
            release="10" includeantruntime="false">
            <src path="."/>
            <compilerclasspath>
                <pathelement path="ecj-4.7.3a.jar"/>
            </compilerclasspath>
            <compilerarg value="--add-modules"/>
            <compilerarg value="java.xml.bind"/>
        </javac>
    </target>

    <target name="compile-ecj-4.8" depends="clean, print-version-info">
        <javac compiler="org.eclipse.jdt.core.JDTCompilerAdapter"
            release="10" includeantruntime="false">
            <src path="."/>
            <compilerclasspath>
                <pathelement path="ecj-4.8RC2.jar"/>
            </compilerclasspath>
            <compilerarg value="--add-modules"/>
            <compilerarg value="java.xml.bind"/>
        </javac>
    </target>

    <target name="clean">
        <delete file="Test.class"/>
    </target>

    <target name="print-version-info">
        <echo message="Java home is ${java.home}"/>
        <echo message="Java version is ${java.version}"/>
        <echo message="Ant version is ${ant.version}"/>
    </target>

</project>

如果我使用 javac (compile-javac 目标),代码编译得很好,但我无法让它与 4.7.3a 或 4.8RC2 Eclipse 编译器一起工作:

  • 使用 4.7.3a 时,出现错误仅当源级别为 1.5 或更高时,参数化类型才可用即使我指定release="10"
  • 与 4.7.3a 一起,如果我使用source="10" and target="10"代替release="10",源级别错误消失了,但我得到了无效的模块名称:javax.xml.bind error
  • 使用 4.8RC2,我得到源级别错误和另一个错误JAXBException 无法解析为类型错误,即使我指定要添加定义 JAXBException 的 java.xml.bind 模块。

print-version-info 目标提供以下输出:

print-version-info:
     [echo] Java home is C:\Program Files\Java\jdk-10
     [echo] Java version is 10
     [echo] Ant version is Apache Ant(TM) version 1.10.3 compiled on March 24 2018

可能是后续欧洲法院错误 487421 https://bugs.eclipse.org/bugs/show_bug.cgi?id=487421或者我只是不明白命令行选项?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Java 10、Ant 和 Eclipse 编译器编译此代码? 的相关文章

  • Log4j 2.x 如何实现惰性参数求值?

    鉴于Java 参数评估机制 http docs oracle com javase specs jls se8 html jls 15 html jls 15 12 4 2 如何Log4j 2 x实施惰性评估 https logging a
  • 自动装箱是否调用 valueOf()?

    我试图确定以下陈述是否保证为真 Boolean true Boolean TRUE Boolean true Boolean valueOf true Integer 1 Integer valueOf 1 我一直认为自动装箱相当于调用va
  • double 或 BigDecimal 会溢出吗?

    Java 8 给了我们Math addExact https docs oracle com javase 8 docs api java lang Math html addExact int int 适用于整数 但不适用于小数 是否有可
  • 如何更新 Websphere 7 以使用 EL2.2?

    这就是我所做的 按照此林肯 巴克斯特的帖子 http ocpsoft com java jsf2 java jsf2 how to add the magic of el el2 to jsf 我下载了 el api 2 2 jar 和 e
  • Java XPath API - 获取表示子树的字符串

    我的问题不是关于 xpath 语法 而是与 xpath 周围的 java API 有关 考虑以下 xml
  • 在同步子句中抛出异常的副作用?

    从同步子句中抛出异常是否有任何不清楚的副作用 锁会发生什么情况 private void doSomething throws Exception synchronized lock doSomething 我没有看到任何副作用 The 锁
  • 控制台中的 Java msg - 两个方法具有相同的方法签名但不提供可分配的类?

    在迁移到 java 1 8 时 我升级了项目中的许多依赖项 它是基于spring 4 3的应用程序 有很多外部依赖 例如 JMS HTTP客户端 FTP XML等 当应用程序启动时 我现在在控制台中收到以下消息 两个方法具有相同的方法签名但
  • 方法中缺少 return 语句错误

    我正在尝试编写一个返回计算机 MAC 地址字符串的静态方法 该函数本身可以在此处找到 http www mkyong com java how to get mac address in java http www mkyong com j
  • Java - 动态创建子类

    我想以编程方式创建一个子类 我想我的选择很少 Javassist CGLib BCEL 或 ASM 用例是一个应用程序的内部是面向类的 而扩展是基于类的 因此 我不能将单个类作为由外部化脚本驱动的多个扩展的基础 现在 我该怎么做呢 我找到了
  • Tomcat 中 JNDI 的 Java Mail API 配置文档

    我花了几天时间弄清楚如何通过 JNDI 在 Tomcat 中配置 javax mail Session有认证 现在我明白了 但只是在深入研究代码之后 这次我看到了有史以来最糟糕的代码 javax mail Service connect S
  • 正确使用 Facelet 模板和复合组件

    我仍然不确定 JSF 模板和复合组件的正确使用 我需要创建一个企业 Web 应用程序 其中会有很多页面 每个页面都将具有相同的页眉 菜单 页脚 当然还有不同的内容 JSF 模板 每个页面上的内容将由可重用的 盒子 JSF 复合组件 组成 这
  • 如何在触摸屏幕时播放声音? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在尝试制作一款类似飞翔的小鸟的游戏 然而 我正在努力寻找一种在触摸屏幕时播放流行声音的方法 我希望它在每次触摸屏幕时播放声音 我是
  • Spring 格式错误的“成员”属性值

    我正在创建一个必须连接到活动目录的应用程序 我实际上在处理更新群组成员时遇到了问题 团体名称是 GG 协作 AgenceXXX 这是我的GroupRepository抛出异常的类代码 public void addMemberToGroup
  • android php 连接错误? (添加java代码)

    我试图从 android 应用程序获取位置 纬度 经度 并使用 php 插入数据库 然后提取 10m 半径内的数据 问题是 当我使用智能手机测试代码时 本地测试正常 数据未正确插入 表 usergps 有 3 列 名称 纬度 经度 在我测试
  • Apache POI:包含图表的克隆工作表

    根据众多消息来源 例如官方页面上的限制部分 http poi apache org spreadsheet limitations html 可能从 POI 处理 Excel 图表的唯一好方法是使用 Excel 文件和现有图表作为模板 并修
  • WHERE 子句中带有集合的 HQL

    我一直在尝试询问谁正式让我做噩梦 该系统是一个用户和联系人管理 所以我有UserAccount Contact and Phone UserAccount与 具有双向一对多关系Contact和电话上的单向均由Set UserAccount
  • 解决所有 Java 字节都已签名这一事实的最佳方法是什么?

    在Java中 不存在无符号字节这样的东西 使用一些低级代码时 有时您需要使用无符号值大于 128 的字节 这会导致 Java 将它们解释为负数 因为 MSB 用于符号 解决这个问题的好方法是什么 说不使用 Java 是不行的 如果你这样做的
  • Cassandra 3.x 触发器列值

    我使用的是 3 4 Cassandra 触发器 API 它引入了修改后的 ITrigger 接口 例如 https github com apache cassandra blob trunk examples triggers src o
  • 无法处理来自 Jar 的 jar 条目

    我正在尝试在 Restful API 上运行简单的程序 但出现以下异常 gt Sep 12 2016 10 05 02 AM org apache catalina startup ContextConfig processAnnotati
  • 我应该选择哪个框架 - Seam、Wicket、JSF 还是 GWT? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi

随机推荐

  • Chrome DevTools 网络瀑布 - 请求之间的差距?

    我一直在对运行缓慢的 Web 应用程序进行一些重构 并设法减少请求数量和下载大小 以帮助改善这种情况 现在加载时间持续缩短 然而 在最后两个请求之前几乎没有经过任何时间 现在始终存在差距 问题 1 Chrome 网络视图中的这些 间隙 表示
  • 如何在主屏幕等视图之间切换

    如何在多个之间切换UIView正在使用一个UIViewController就像 iPhone 主屏幕一样 如果您需要澄清 请询问 请不要拒绝 使用 UIScrollView this http developer apple com iph
  • 使用 JavaScript 更改元素的 `innerHTML`

    好的 我是 JavaScript 新手 但我正在尝试更改innerHTML of a div元素 这是我的脚本不起作用 div change div 它应该可以工作 但由于某种原因没有 有什么帮助吗 而不是分配var1 to window
  • 如何通过 Get-AzureRmAppServicePlan 检索workerSize

    通过 Azure PowerShell cmdlet 创建新的 AppServicePlan 时New AzureRmAppServicePlan 预计我会添加一个WorkerSize例如小号 中号或大号 例如 appServicePlan
  • 使用前置摄像头拍摄图像,无需在android中打开相机应用程序[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想使用 Android 手机的前置
  • 如何捕获退出 Winforms 应用程序的事件?

    如果用户想通过单击退出图标或按 ALT F4 退出应用程序 我想创建一个对话框 询问用户是否确实确定要退出 如何在应用程序实际关闭之前捕获此事件 查看关闭时 http msdn microsoft com en us library sys
  • ANDROID 上的磁场传感器校准

    我正在制作一个用作指南针的应用程序 我使用加速度计和磁场传感器来计算方位角 sensor getOrientation 我正在寻找可以提高磁场传感器精度的东西 因为我得到的精度状态是不可靠的 有人知道这件事吗 我正在寻找一些可以硬编码的东西
  • Java错误:表达式的非法开始

    我基本上正在完善 完成并尝试从 Java 初学者的参考书中编译测试代码 目标是创建一个猜谜游戏 其中目标位于 3 个连续的单元格中 我将位置保存在一个数组中 并且用户猜测单元格号 逐个细胞地摧毁目标细胞 我在这里查看了六篇关于同一错误的帖子
  • 如何获取 std::wstring 的字节大小?

    我在用std wstring作为我的 Unicode 样式字符串 现在我想得到 a 的字节大小wstring 如果我使用size 的方法wstring 我只得到字符总数 在我的wstring 但字节应该是 size 2 有没有官方的方法来获
  • 我可以阻止修改 Python 中的对象吗?

    我想控制全局变量 或全局范围的变量 使其在程序初始化代码中仅设置一次 然后锁定它们 我使用 UPPER CASE VARIABLES 作为全局变量 但我想有一个确定的方法来不更改变量 python 是否提供该 或类似 功能 如何控制全局范围
  • PHP:在 AJAX/JSON 中提交表单时出现问题?

    目前我有以下代码 home php
  • 使用亚马逊步骤函数,如何编写引用当前时间的选择运算符?

    在 aws step 函数中文档 http docs aws amazon com step functions latest dg amazon states language choice state html amazon state
  • 2012 年推荐的 jQuery 模板? [复制]

    这个问题在这里已经有答案了 jQuery 模板已被弃用一段时间了 我有一些 JavaScript 对象形式的数据 我想将其格式化为 HTML 并附加到 DOM 如今最好的方法是什么 我应该构建一个 HTML 字符串吗 我应该通过 jQuer
  • 我可以使用 EnableStatic 来配置 IPv6 地址(使用 WMI)吗?

    我想使用 WMI C 语言 来配置静态 IPv6 地址 配置静态 IPv4 地址可以正常使用EnableStatic 它是名为的 WMI 类的一部分Win32 NetworkAdapterConfiguration 谁能帮我使用 WMI 配
  • Spring Data 存储库实际上是如何实现的?

    我在项目中使用 Spring Data JPA 存储库已经有一段时间了 我知道以下几点 在存储库接口中 我们可以添加类似的方法findByCustomerNameAndPhone 假设customerName and phone是域对象中的
  • IIS 6 上的 elmah

    我有一个网站 上面运行着 elmah 记录到一个 sql 框 在我的测试环境中 它是一台 IIS 7 机器 一切运行良好 当我上传到运行 IIS 6 的网络解决方案 Web 时 出现错误 SecurityException Request
  • 在 x86-64 多核机器上以 C++ Atomic 读取和写入 int

    我读了this https stackoverflow com questions 5002046 atomicity in c myth or reality 我的问题很相似但又有些不同 请注意 我知道 C 0x 不能保证这一点 但我特别
  • 将 yyyy-mm-dd 转换为 dd mm yyyy

    如何将 2013 06 24 转换为 2013 年 6 月 24 日 我正在使用下面的代码 date1 2013 06 24 SimpleDateFormat d new SimpleDateFormat dd MMM yyyy try d
  • Cordova 不创建 AndroidManifest.xml

    我正在 Cordova 和 AndroidStudio 中创建 Android iOS 应用程序 一切都工作正常 直到我昨天将 Cordova 更新到 8 我还将 Node 更新到了最新版本 当我创建 Cordova 项目并添加 Andro
  • 如何使用 Java 10、Ant 和 Eclipse 编译器编译此代码?

    我正在尝试使用 Java 10 Ant 和 Eclipse 编译器编译这个简单的代码 import java util ArrayList import javax xml bind JAXBException class Test voi