- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Java 9 deprecated six modules that contain Java EE APIs他们是going to be removed很快:
javax.activation
包javax.activity
、javax.rmi
、javax.rmi.CORBA
和org.omg.*
包javax.transaction
包javax.xml.bind.*
包javax.jws
、javax.jws.soap
、javax.xml.soap
和所有 javax.xml.ws.*
包javax.annotation
包哪些维护的第三方工件提供了这些 API?他们提供这些 API 的能力如何或他们必须提供哪些其他功能并不重要 - 重要的是,它们是这些模块/包的直接替代品吗?
为了更容易收集知识,我回答了目前我所知道的,并将答案设为社区维基。我希望人们会扩展它而不是自己写答案。
在您投票结束之前:
最佳答案
不要使用已弃用的 Java EE 模块,而是使用以下工件。
JavaBeans Activation Framework(现为 Jakarta Activation)是一项独立技术(可在 Maven Central 上获得):
<dependency>
<groupId>com.sun.activation</groupId>
<artifactId>jakarta.activation</artifactId>
<version>1.2.2</version>
</dependency>
( Source )
来自 JEP 320 :
There will not be a standalone version of CORBA unless third parties take over maintenance of the CORBA APIs, ORB implementation, CosNaming provider, etc. Third party maintenance is possible because the Java SE Platform endorses independent implementations of CORBA. In contrast, the API for RMI-IIOP is defined and implemented solely within Java SE. There will not be a standalone version of RMI-IIOP unless a dedicated JSR is started to maintain it, or stewardship of the API is taken over by the Eclipse Foundation (the transition of stewardship of Java EE from the JCP to the Eclipse Foundation includes GlassFish and its implementation of CORBA and RMI-IIOP).
独立版本:
<dependency>
<groupId>jakarta.transaction</groupId>
<artifactId>jakarta.transaction-api</artifactId>
<version>1.3.3</version>
</dependency>
( Source )
自从 Java EE 更名为 Jakarta EE,JAXB 现在由新的工件提供:
<!-- API -->
<dependency>
<groupId>jakarta.xml.bind</groupId>
<artifactId>jakarta.xml.bind-api</artifactId>
<version>2.3.3</version>
</dependency>
<!-- Runtime -->
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.3.3</version>
<scope>runtime</scope>
</dependency>
<!-- Alternative runtime -->
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>2.3.3</version>
<scope>runtime</scope>
</dependency>
JAXB Reference Implementation page .
替代运行时是 brought up by Abhijit Sarkar .
schemagen
和 xjc
也可以作为独立 JAXB 分发的一部分从那里下载。
另见 linked answer .
引用实现:
<!-- API -->
<dependency>
<groupId>jakarta.xml.ws</groupId>
<artifactId>jakarta.xml.ws-api</artifactId>
<version>2.3.3</version>
</dependency>
<!-- Runtime -->
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-rt</artifactId>
<version>2.3.3</version>
</dependency>
Standalone distribution download (包含 wsgen
和 wsimport
)。
Java Commons Annotations (在 Maven Central 上可用):
<dependency>
<groupId>jakarta.annotation</groupId>
<artifactId>jakarta.annotation-api</artifactId>
<version>1.3.5</version>
</dependency>
( Source )
关于java - 使用 Java EE API 替换已弃用的 JPMS 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54226508/
我有一个非常基本的 JavaFX 应用程序,如果应用程序类不是主类,它可以完美运行: import javafx.application.Application; import javafx.fxml
我以为JPMS不支持模块版本。但是,当我执行 java --list-modules 时,我得到以下输出: java.activation@9 java.base@9 java.compiler@9
JPMS ServiceLoader 无法正常工作。 我正在尝试提供一个桌面程序作为可执行jar,带有默认服务,可以由个人用户重载。用户提供他们自己的服务类,并在命令行上提供他们的名字作为参数。 服务
在介绍 JPMS 服务时,Java 语言规范第 7.7.4 节指出“服务类型必须是类类型、接口(interface)类型或注解类型”。 我很难看到允许注释的意义。我的理解是,JPMS 的服务概念是我们
假设我们有 JPMS 模块 - A、B、C 等。A 定义了一些服务a.spi.SomeService 和所有模块都实现了此服务。例如,模块 B 具有此服务 b.spi.SomeServiceImpl
我正在尝试创建一个模块化的可执行 jar 文件,它可以使用 java -p -m 运行在 Java 9.0.1 上。 这在使用 jar cfe test.jar test.Main -C clas
如何列出所有模块的所有(!)JPMS 服务。我的意思是我需要当前运行 JVM 时可以使用的所有服务的列表。我在互联网上搜索过,但仍然找不到方法。 最佳答案 没有这样的命令,但你可以在命令行中组合一些东
Java 的包管理系统对我来说总是简单而有效。它被 JDK 本身大量使用。我们一直在用它来模仿命名空间和模块的概念。 Project Jigsaw(又名 Java Platform Module Sy
我有两个 JPMS 层: 带有 module A 的引导层由 ClassLoaders$AppClassLoader@4fca772d 加载 带有 module B 的子层提供 cervices 并由
我有一个 JPMS 框架,可以动态创建 JPMS 层并向其中添加模块。经过一些测试,在我看来,--add-opens JVM 参数仅适用于引导层,我的意思是应用程序启动时创建的层。 那么,问题是 -
我试图在我的 UML 类图上显示两个 JPMS 模块以及它们内部的包和类。问题是我无法理解使用什么元素来显示模块。请帮忙。 最佳答案 在 UML 中: 有包和组件。 包:见reference 1 Pa
我有一个包含包 com.temp 的模块,它具有服务的接口(interface)和实现 - ServiceInterface 和 ServiceImpl。我的模块信息中有: module temp {
我了解 Java 平台模块系统 (JPMS) 对大型应用程序的好处,但是否有任何理由将小型库或应用程序制作成(单个)模块?如果是这样,是Modular Jar Files实现此目的的最佳方法,还是首选
所以,6.4(终于)出来了,并且有 JPMS support 迫不及待地想试一试,我开始修改我们的一个项目以便使用它。 jjohannes 在他的 repo 之一上有一个 (kotlin) 示例 我试
在使用 Java 9 平台模块系统 (JPMS) 时,我找不到包含 javax.jms 包的模块。 Replacements for deprecated JPMS modules with Java
Here您可以找到以下有关自动模块的信息: The module system also scans META-INF/services and makes the automatic module
我正在使用带有 moduleplugin 的 Gradle (6.0.1)使用 JPMS modules 构建应用程序使用 JDK 13。 但是,即使使用 the application plugin
给定一个在 Eclipse 中从原型(prototype) maven-archetype-quickstart 创建的 Maven 项目(junit 升级到 5.5.2,支持 JPMS),如何将其模
Java 9 deprecated six modules that contain Java EE APIs他们是going to be removed很快: java.activation 与 j
我将 Java 14 与 Jetty 9.4 和 Weld-servlet-shaded-3.1 一起使用,但出现此异常: Caused by: java.lang.reflect.Inaccessi
我是一名优秀的程序员,十分优秀!