添加Java系统模块在Eclipse中编译

2024-02-12

我有一些遗留的 Java 代码,即:

package org.alo.test.j9;
import javax.activation.DataHandler;   // in java.activation module
import javax.annotation.PostConstruct; // in java.xml.ws.annotation module
public class OldClass {
    public static void main(String[] args) {
        DataHandler dh = new DataHandler(null, null);
        System.out.println(dh);
    }
}

尚未模块化,因此需要使用--add-modules使用 Java 9 编译它。

$ javac -version
javac 9
$ javac org/alo/test/j9/OldClass.java
src/org/alo/test/j9/OldClass.java:3: error: package javax.activation is not visible
import javax.activation.DataHandler;   // in java.activation module
            ^
  (package javax.activation is declared in module java.activation, which is not in the module graph)
src/org/alo/test/j9/OldClass.java:4: error: package javax.annotation is not visible
import javax.annotation.PostConstruct; // in java.xml.ws.annotation module
            ^
  (package javax.annotation is declared in module java.xml.ws.annotation, which is not in the module graph)
2 errors

我需要添加我正在使用的模块才能成功编译:

$ javac org/test/OldClass.java --add-modules=java.activation,java.xml.ws.annotation

我想用 Java 9 在 Eclipse(使用 Oxygen.1a)中编译它。但我得到The import javax.activation cannot be resolved编译错误。

我如何告诉 eclipse 编译器添加这些模块?我没有找到任何提示Eclipse 文档 https://wiki.eclipse.org/Java9/Examples关于它。

Here https://github.com/alostale/test-j9-eclipse你可以找到我正在测试的一个简单的 eclipse 项目。


这些功能的完整文档仍然需要编写,但已经开始了Photon M3 的新功能和值得注意的功能 https://www.eclipse.org/eclipse/news/4.8/M3/#java-9 (工作正在进行中)。您正在寻找的功能在以开头的段落中提到

在“内容”选项卡上,可以通过从左到右移动模块来包含或排除 JRE 系统库等容器内的各个模块,反之亦然...

该对话框选项卡结合了以下效果--add-modules and --limit-modules.

Edit:在 Eclipse 2019-06 中,上述 UI 已经revamped https://www.eclipse.org/eclipse/news/4.12/jdt.php#buildpath-module-dependencies。最新的文档可以在网上帮助 https://help.eclipse.org/2019-06/topic/org.eclipse.jdt.doc.user/reference/ref-properties-build-path.htm#module-dependencies.

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

添加Java系统模块在Eclipse中编译 的相关文章

  • Hibernate 每个子类一个表继承策略的效率

    我正在考虑 Hibernate 管理的类层次结构的表布局 当然 每个子类表技术在我看来是一般意义上最合适的 然而 通过逻辑思考 我对其性能有些担忧 尤其是随着子类数量的扩展 举一个非常简短 且经典 的示例 假设您有以下类 public ab
  • 如何在JavaFX中有效地滚动和缩放大图像?

    作为图像处理应用程序的一部分 我需要创建具有缩放 滚动和矢量叠加功能的简单查看器模块 图像相当大 40000x20000 这使得 ImageView 上的操作变慢 缓冲等 在 JavaFX 中处理巨大图像时 改善用户体验的最佳选项是什么 我
  • Java:while循环冻结程序

    我正在制作一个游戏 我需要每 3 秒更新一次 JProgressBar 为此 我使用 while 循环 问题是我的程序由于 while 循环而冻结 我在其他问题中读到它 他们没有帮助我解决这个问题 我不知道如何解决 这是我的代码 publi
  • 有没有办法让Maven自动下载快照版本?

    所以我有一个项目依赖于另一个项目的快照版本 依赖关系是
  • Java - 调整图像大小而不损失质量

    我有 10 000 张照片需要调整大小 因此我有一个 Java 程序来执行此操作 不幸的是 图像的质量损失很大 而且我无法访问未压缩的图像 import java awt Graphics import java awt AlphaComp
  • JTree ConvertValueToText 返回在更改时被截断

    我有一个自定义树实现convertValueToText 此实现取决于某些全局状态 如果返回的字符串比先前返回的字符串更长 实际上我认为更宽 因为以像素为单位触发它 则文本将被截断并用 填充 当重绘是由 取消 选择元素或某个元素引起时 情况
  • 为什么不自动装箱泛型的 Java 基本类型?

    Java 不允许在通用数据结构中使用原始类型 例如 不允许使用 ArrayList 原因是 原始类型不能直接转换为Object 然而 Java 1 5 确实支持自动装箱 并且包装类在通用数据结构中工作 那么为什么编译器不能将其自动装箱到 A
  • Eclipse Oxygen - 该项目未构建,因为其构建路径不完整

    我刚刚安装了 Eclipse Oxygen 并尝试在工作台中打开现有项目 但收到此错误 该项目未构建 因为其构建路径不完整 不能 找到 java lang Object 的类文件 修复构建路径然后尝试 建设这个项目 我尝试右键单击该项目 转
  • SSLContext 初始化

    我正在看JSSE参考指南 我需要获取一个实例SSLContext为了创建一个SSLEngine 所以我可以使用它Netty以启用安全性 获取实例SSLContext I use SSLContext getInstance 我看到该方法被重
  • 在 java 8 下使用泛型出现类型错误,但在 java 7 下则不然

    我有一段代码可以在 java 7 下编译良好 但不能在 java 8 下编译 这是一个独立的重现示例 我已经采用了显示此问题的真实代码并删除了所有实现 import java util Iterator class ASTNode
  • 自 JRE 1.7.0_25 起,Batik 无法进行转换

    自从我更新到 JAVA 1 7 0 25 以来 蜡染在应用转换时会抛出异常 堆栈跟踪是 java awt image ImagingOpException Unable to transform src image at java awt
  • 将 Maven 控制台与 m2eclipse 一起使用

    Maven 新手在这里 有没有办法在 Eclipse 中打开控制台并在 M2Eclipse 插件上执行 Maven 命令 这是一个非常好的插件 但我环顾四周 没有找到我想要的一些功能 谢谢 如果你想运行特定的maven插件 你可以这样做 g
  • Jersey 和 Spring 中的全局异常处理?

    我正在使用 Jersey 和 Spring 3 2 以及 Open CMIS 开发 RESTful Web 服务 我没有使用 Spring 的 MVC 模式 它只是 Spring IOC 和 Jersey SpringServlet 控制器
  • IntelliJ - 无效源版本:17

    我已经在 IntelliJ 中使用 Gradle 创建了一个使用 Java 17 的新 Java 项目 运行我的应用程序时出现错误Cause error invalid source release 17 我的设置 我已经安装了openjd
  • 为什么replaceAll在这行代码中不起作用? [复制]

    这个问题在这里已经有答案了 String weatherLocation weatherLoc 1 toString weatherLocation replaceAll how weatherLocation replaceAll wea
  • Java DNSLookup MX 记录列表。类似于 MXToolBox

    我正在构建一个程序来列出域的所有 MX 记录 起初似乎工作正常 但与在线工具进行比较后http mxtoolbox com http mxtoolbox com 有些域程序无法获取 MX 记录 而 MXToolbox 可以 我不确定原因是什
  • Eclipse Juno 指标插件

    Eclipse JUNO 版本有哪些 Eclipse 指标插件 我尝试了一些通用指标插件 但没有一个能够在 Eclipse 的 JUNO 版本中正常运行 差点忘了 我们正在使用 Java 作为编程语言 我想要诸如圈复杂度 代码行数 方法长度
  • 对于双核手机,availableProcessors() 返回 1

    我最近购买了一部 Moto Atrix 2 手机 当我尝试查看手机中的处理器规格时 Runtime getRuntime availableProcessors 返回 1 proc cpuinfo 也仅包含有关处理器 0 的信息 出于好奇
  • 没有运算符与给定名称和参数类型匹配。您可能需要添加显式类型转换。 -- Netbeans、Postgresql 8.4 和 Glassfish

    我正在尝试使用 EclipseLink 在 Glassfish 中使用 JPA 编辑 Postgresql 中的表 当我插入一个实体时 它运行良好 但是 当我尝试编辑或删除同一实体时 它失败并出现以下错误 任何想法 Caused by Ex
  • 在 servlet 会话和 java.io.NotSerializedException 中保存对象

    SEVERE IOException while loading persisted sessions java io WriteAbortedException writing aborted java io NotSerializabl

随机推荐

  • 如何在 Qt 中简单地序列化复杂结构并通过网络发送它们

    我正在创建一个客户端服务器应用程序 现在我正在处理一种最简单的方法来序列化一些类 将其传递到另一端 然后放回到我以后可以使用的类中 我意识到这并不简单 有些人可能会说在 C 或 C 等低级语言中不可能 但实际上通过大量编码是可以实现的 我想
  • 如何使用 Apache Cordova 3.4.0 在本地存储文件

    我在使用 apache cordova 的 文件 插件在 iOS 或 Android 设备上本地存储文件时遇到问题 我认为问题在于正确设置路径 这是我从 Xcode 收到的错误消息无法创建保存下载文件的路径 操作无法完成 可可错误 512
  • Conemu 和 console2 模拟器没有获取新的路径变量

    我想也许这是一个系统问题 但最近做了一个全新的安装 win7 64位 和一个干净的conemu安装 在旧的win32系统上conemu和console2都有同样的问题 此外 我发现研究的所有内容都与通过命令行添加变量有关 我通过 开始 gt
  • Bootstrap 3.0 媒体查询

    我正在开发一个基于 Bootstrap 3 html5 样板自定义构建 的小项目 并尝试使用 官方 媒体查询在引导文档中 http getbootstrap com css grid media queries Extra small de
  • 将 sklearn TfidfVectorizer 与已标记化的输入一起使用?

    我有一个标记化句子列表 想要安装 tfidf 矢量器 我尝试了以下方法 tokenized list of sentences this is one this is another def identity tokenizer text
  • 为什么这个 javascript 和 html 代码没有计算结果?

    这是代码
  • 如何使用c#从后台代码中查找SQL Server实例名称和服务器名称? [复制]

    这个问题在这里已经有答案了 可能的重复 SqlDataSourceEnumerator Instance GetDataSources 找不到本地 SQL Server 2008 实例 https stackoverflow com que
  • 基于 HTTPS 的 SOAP 客户端,双方均带有 SSL 证书

    我必须开发一个 SOAP 客户端 供应商向我发送了以下规格 将通过IP使用HTTPS进行传输 并打包为XML文档 以适应不同的XML方案定义 通讯是同步的 第三方需要等待响应 每个请求和响应都将被签名 我正在使用 PHP 中的soapCli
  • 如何启动 IPython 运行脚本?

    我的用例是我想初始化文件中的一些函数 然后使用定义的这些函数启动 IPython 有没有办法做这样的事情 ipython run script myscript py 在最新版本的 IPython 中 您确实需要添加 i之后可以选择进入交互
  • 通过 ssh 远程获取脚本

    我想通过ssh运行一个远程程序 这需要一定的环境 因此 在执行程序之前 我获取了构建环境的特定文件 如果我直接登录到机器上 这没有问题 但是当我通过 ssh 执行命令时 bin bash foo ssh user host source s
  • scala 中的惰性函数定义

    我一直在学习 Scala 我不得不说这是一门非常酷的语言 我特别喜欢它的模式匹配功能和函数文字 但我有 javascript ruby 背景 这些语言中我最喜欢的模式之一是惰性函数和方法定义模式 JavaScript 中的一个例子是 var
  • 在playframework中拦截请求并检查授权

    我在用着play framework 2 4 2使用Java 我想通过拦截所有请求并检查是否设置了会话值来验证用户是否已登录 所以我延长了默认HttpRequestHandler https www playframework com do
  • 从 C#/.NET 调用 C++ 函数

    我有一个包含 C 项目和 C 项目的解决方案 C 项目定义了一个类 我想在 C 中实例化该类并调用其成员函数 到目前为止 我成功实例化了该类 CFoo Bar new CFoo 但是当我尝试调用它的函数时 编译器说它不可用 另外 当我检查调
  • 使用 Node.js 进行网页抓取时,我可以在页面上运行所有 JavaScript 吗? (即模拟真实的浏览器?)

    我正在尝试使用 Node js 进行一些网络抓取 使用jsdom 很容易加载 DOM 并将 JavaScript 注入其中 我想更进一步 运行从网页链接到的所有 JavaScript 然后检查生成的 DOM 包括元素的视觉属性 高度 宽度等
  • ng 服务:找不到模块“tapable”

    我刚刚将我的 Angular 5 项目从一台计算机转移到另一台计算机 在新设备中尝试时出现以下错误ng serve Cannot find module tapable Error Cannot find module tapable at
  • 如何在 Compact Framework 中将图像图标添加到标题栏并隐藏底部栏。?

    1 我想在表单标题中添加徽标 图像 我怎么做 2 在 Windows Phone 中 底部会出现一个带有键盘标志的栏 当我使用自定义键盘时 如何删除此栏 标题栏 可以通过删除 设置为空 表单的主菜单来 删除 底部栏 标题栏 顶部栏 无法轻松
  • vim:打开水平和垂直分割的4个文件

    在命令行上 vim可以打开4个水平分割的文件 vim o file1 file2 file3 file4 或 4 个文件垂直分割 vim O file1 file2 file3 file4 如何打开 4 个文件 使其水平和垂直分割 如下所示
  • 从数据库填充下拉列表

    我的实体框架中有一个 mvc 3 应用程序 其中有 2 个表 我有另一个名为 Product 的表 其中包含 ProductID 和 ProductName 创建新视图以插入新购买 如何将视图中的 ProductID 文本框更改为由 Pro
  • 导入库仅用于调试

    我在用stetho用于调试我的应用程序的lib Gradle debugCompile com facebook stetho stetho 1 4 1 debugCompile com uphyca stetho realm 2 0 0
  • 添加Java系统模块在Eclipse中编译

    我有一些遗留的 Java 代码 即 package org alo test j9 import javax activation DataHandler in java activation module import javax ann