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

时间:2018-09-29 11:54:38

标签: java maven java-9 java-10

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

这是课程,

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依赖项是行不通的。

1 个答案:

答案 0 :(得分:1)

这些类尚未删除,请参见JavaDoc中的javax.namingjavax.xml.namespace。除非您要构建模块并且忘记将模块 java.xml java.naming 添加为依赖项,否则错误就出在Java之外,这很可能与工具有关。 / p>

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