为了账号安全,请及时绑定邮箱和手机立即绑定

我可以从Java模块中排除导出的软件包吗?

我可以从Java模块中排除导出的软件包吗?

扬帆大鱼 2021-04-08 15:15:10
模块jta和java.sql将包javax.transaction.xa导出到模块dom4j正如你所看到的,这两个模块jta和java.sql输出相同的包,javax.transaction.xa。但是,中的软件包jta具有我所要求的类,这些类在中不存在java.sql。我根本不需要java.sql模块,但是我需要java.sql.SQLException。是否可以防止java.sql出口javax.transaction.xa?
查看完整描述

2 回答

?
手掌心

TA贡献1942条经验 获得超3个赞

该JTA GitHub的读取确认什么@Alan中已经指出了以下评论-


该Java™Java事务API(JTA)的独立发行版使用Java平台模块系统“自动”模块名称 java.transaction,以匹配JDK 9中使用的模块名称。将来的版本将包含完整的模块元数据。而且, javax.transaction.xa程序包现在归Java SE所有。


您可以使用以下版本与Maven(例如)一起使用:


<dependency>

    <groupId>javax.transaction</groupId>

    <artifactId>javax.transaction-api</artifactId>

    <version>1.3</version>

</dependency>

这是的发行说明JTA1.3MR。


此外,JEP 320:Remove Java EE和CORBA Modules在同一方面进行了详细说明-


...该javax.transaction.xa软件包支持JDBC中的XA事务。此“ XA程序包”与JDBC在java.sqlJava SE 9的java.sql模块中位于同一位置。由于该模块不可升级,因此独立版本的JTA不可能覆盖XA程序包的Java SE版本。


并进一步说明您解决方案的可扩展性


...为了便于维护,将来可能会将Java SE中的XA软件包移至其他不可升级的模块中,但是从架构方面来看,它将长期与JDBC和JDBC一起保留在Java SE中...


并按计划


在2018年初,JTA 1.3将被定义为仅包含CORBA互操作包。JAR文件将相应更新。


查看完整回答
反对 回复 2021-04-21
?
墨色风雨

TA贡献1853条经验 获得超6个赞

您可以使用javac -d -cp /PATHTOYOURFILE -d-cp标志来仅编译所需的目录和类路径。类路径也可以用逗号分隔。


查看完整回答
反对 回复 2021-04-21
  • 2 回答
  • 0 关注
  • 169 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信