java - 如何升级 javax.naming.* 和 javax.xml.* 导入以与 java 10 兼容

标签 java maven java-9 java-10

我有一个用maven和jdk 1.8构建的java项目。有些类使用jdk中的javax.naming.*和javax.xml.*类。 从 Java 9 开始,这些 javax 包已从 jdk 中删除。那么如何升级项目以在 java 9 或更高版本上运行?

这是类(class),

import javax.naming.Binding;
import javax.naming.Context;
import javax.naming.Name;
import javax.naming.NameClassPair;
import javax.naming.NameParser;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
import javax.naming.NoInitialContextException;
import javax.naming.directory.Attributes;
import javax.naming.directory.DirContext;
import javax.naming.directory.ModificationItem;
import javax.naming.directory.SearchControls;
import javax.naming.directory.SearchResult;
import javax.naming.event.EventContext;
import javax.naming.event.EventDirContext;
import javax.naming.event.NamingListener;
import javax.naming.ldap.Control;
import javax.naming.ldap.ExtendedRequest;
import javax.naming.ldap.ExtendedResponse;
import javax.naming.ldap.LdapContext;
import javax.naming.spi.InitialContextFactory;
import javax.naming.spi.InitialContextFactoryBuilder;
import javax.naming.spi.NamingManager;
import javax.xml.namespace.QName;

我发现了jndi包含 javax.naming.* 类。但我不知道如何包含它们。仅添加为 Maven 依赖项是行不通的。

最佳答案

这些类尚未删除,请参阅 JavaDoc javax.namingjavax.xml.namespace 。除非您在构建模块时忘记添加模块 java.xmljava.naming 作为依赖项,否则错误就出在 Java 之外,很可能与工具有关。

为了说服自己,请使用 javac 在命令行上编译一个简单的类并观察它的工作情况。然后确保您正在运行 recent versions of the involved tools (特别是构建工具和 IDE)。如果是这种情况并且错误仍然存​​在,请通过更详细的错误描述来改进您的问题。

关于java - 如何升级 javax.naming.* 和 javax.xml.* 导入以与 java 10 兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52568117/

相关文章:

java - 排查Nashorn "Method code too large!"异常

java - jMockit 初始化错误 : java. lang.IllegalStateException:在 JDK 9 上运行

java - DataNucleus 中的@Convert

java - 提交远程应用到hadoop时如何设置jar路径?

java - 使用 Apache Commons 4.5.5 和 Java 11 上传/下载大文件

maven - 为什么我的资源在 "validate"阶段没有被复制?

java - Eclipse 调试器指向源代码中的错误行

java - 模式匹配java : does not work

java - maven 部署文件丢失/无效文件和/或 url

java - 有没有办法删除 JShell 中的导入?