Java 9中是否替换了com.sun.jndi.dns.DnsContextFactory?

时间:2017-04-26 09:56:11

标签: dns jndi java-9

以下简单代码:

Hashtable<String, String> env = new Hashtable();
env.put( "java.naming.factory.initial", "com.sun.jndi.dns.DnsContextFactory" );
DirContext dns = new InitialDirContext( env );

在Java 9中产生以下异常。目前我使用9-ea + 164-jigsaw-nightly。

javax.naming.NoInitialContextException: Cannot instantiate class:
com.sun.jndi.dns.DnsContextFactory [Root exception is java.lang.IllegalAccessException:
class javax.naming.spi.NamingManager (in module java.naming) cannot access
class com.sun.jndi.dns.DnsContextFactory (in module jdk.naming.dns) because module jdk.naming.dns
does not export com.sun.jndi.dns to module java.naming]
    at java.naming/javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:719)
    at java.naming/javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:305)
    at java.naming/javax.naming.InitialContext.init(InitialContext.java:236)
    at java.naming/javax.naming.InitialContext.<init>(InitialContext.java:208)
    at java.naming/javax.naming.directory.InitialDirContext.<init>(InitialDirContext.java:101)

0 个答案:

没有答案