猿问

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

模块jta和java.sql将包javax.transaction.xa导出到模块dom4j

正如你所看到的,这两个模块jtajava.sql输出相同的包,javax.transaction.xa。但是,中的软件包jta具有我所要求的类,这些类在中不存在java.sql。我根本不需要java.sql模块,但是我需要java.sql.SQLException

是否可以防止java.sql出口javax.transaction.xa


扬帆大鱼
浏览 170回答 2
2回答

手掌心

该JTA GitHub的读取确认什么@Alan中已经指出了以下评论-该Java™Java事务API(JTA)的独立发行版使用Java平台模块系统“自动”模块名称 java.transaction,以匹配JDK 9中使用的模块名称。将来的版本将包含完整的模块元数据。而且, javax.transaction.xa程序包现在归Java SE所有。您可以使用以下版本与Maven(例如)一起使用:<dependency>&nbsp; &nbsp; <groupId>javax.transaction</groupId>&nbsp; &nbsp; <artifactId>javax.transaction-api</artifactId>&nbsp; &nbsp; <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文件将相应更新。

墨色风雨

您可以使用javac -d -cp /PATHTOYOURFILE&nbsp;-d和-cp标志来仅编译所需的目录和类路径。类路径也可以用逗号分隔。
随时随地看视频慕课网APP

相关分类

Java
我要回答