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

用Java EE API替换不推荐使用的JPMS模块

吴建中
2023-03-14

Java9不推荐使用包含Java EE API的六个模块,它们将很快被删除:

  • java.activation与javax.activation
  • java.corba带有javax.activityjavax.rmijavax.rmi.corbaorg.omg.*
  • java.transaction,带有javax.transaction
  • java.xml.bind与所有javax.xml.bind.*包一起
  • java.xml.ws(带有javax.jwsjavax.jws.soapjavax.xml.soap以及所有javax.xml.ws.*包)
  • java.xml.ws.annotation与javax.annotation

为了让收集KnowWeldge更容易,我用我目前所知道的来回答,并把答案做成了社区维基。我希望人们把它延伸出来,而不是自己写答案。

在您投票决定关闭之前:

  • 是的,已经有一些关于各个模块的问题,对这个问题的回答当然会重复这些信息。但要了解所有这些,并不是一个单一的点,我认为这些都有很大的价值。
  • 询问图书馆推荐的问题通常被认为是离题的,因为“它们往往会吸引固执己见的答案和垃圾邮件”,但我认为这在这里并不适用。有效库的集合被清晰地划定:它们必须实现一个特定的标准。除此之外,其他都无关紧要,所以我不认为意见和垃圾邮件有多大风险。

共有1个答案

张照
2023-03-14

不使用不推荐使用的Java EE模块,而是使用以下构件。

JavaBeans激活框架(现在是Jakarta激活)是一种独立的技术(在Maven Central上可用):

<dependency>
    <groupId>com.sun.activation</groupId>
    <artifactId>jakarta.activation</artifactId>
    <version>1.2.2</version>
</dependency>

(资料来源)

<dependency>
    <groupId>jakarta.transaction</groupId>
    <artifactId>jakarta.transaction-api</artifactId>
    <version>1.3.3</version>
</dependency>
<!-- 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参考实现页面。

替代运行时是由Abhijit Sarkar提出的。

schemagenxjc也可以作为独立JAXB发行版的一部分从那里下载。

<!-- 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>
<dependency>
    <groupId>jakarta.annotation</groupId>
    <artifactId>jakarta.annotation-api</artifactId>
    <version>1.3.5</version>
</dependency>

(资料来源)

 类似资料:
  • 问题内容: Java 9 已弃用了六个包含Java EE API的模块,它们将很快被删除: 哪些维护的第三方工件提供了这些API?它们提供这些API的性能如何或它们必须提供哪些其他功能都没关系-重要的是,它们是这些模块/软件包的直接替代品吗? 为了更轻松地收集知识,我用到目前为止的知识进行了回答,并将答案设置为社区Wiki。我希望人们能扩展它而不是自己写答案。 在你投票关闭之前: 是的,各个模块上

  • 问题内容: 我发现这段代码的工作方式是,我可以以编程方式创建richfaces下拉菜单。但是不推荐使用某些代码。谁能告诉我要放什么而不是不赞成使用的电话? 谢谢 不推荐使用的代码行是: 问题答案: javadocs明确指出: 不推荐使用 。通过调用getExpressionFactory()然后 ExpressionFactory.createMethodExpression(javax.el.E

  • 问题内容: 我已经继承了代码 @已弃用,并显示为“ 没有RequestConfig的类文档,我不知道应该使用哪种方法来替换and 。 问题答案: 您正在将apache HttpClient 4.3库与apache HttpClient 4.2代码一起使用。 请注意,在您的情况下,getParams()和ConnRoutePNames不是唯一不推荐使用的方法。DefaultHttpClient类本身

  • 问题内容: 这个问题已经在这里有了答案 : 用preg_replace_callback替换preg_replace()e修饰符 (3个答案) 4年前关闭。 上面的代码在升级到PHP 5.5后给出了弃用警告: 不推荐使用 :preg_replace():不推荐使用/ e修饰符,而应使用preg_replace_callback 如何用替换代码? 问题答案: 您可以使用匿名函数将匹配项传递给函数:

  • 我的错误日志中出现了以下错误:woocommerce_product_tax_class从3.0.0版开始就不推荐使用了!改用woocommerce_product_get_tax_class。 我有以下功能来显示不同的用户角色不同的税务类。我可以直接将“woocommerce_product_tax_class”更改为“woocommerce_product_get_tax_class”吗?

  • 问题内容: 我正在寻找解析URL以获得Java中querystring参数的集合。为了清楚起见,我需要解析给定的URL(或URL对象的字符串值),而不是Servlet请求中的URL。 似乎该方法将是显而易见的选择,但已弃用。 是否有我缺少的替代方法,或者只是不推荐使用而没有等效的替换/增强功能? 问题答案: 嗯,正如您提到的,URL不是来自servlet请求,正确的答案通常 取决于它 。 网址的查