从Java8迁移到Java11后,出现错误“包com.sun.jndi.ldap不可见”。但是我需要LdapCtxFactory类的此包。软件包是否已移动?我是否应该为Ldap-Connection使用另一个类?

最好的祝福

最佳答案

由于您仅使用类LdapCtxFactory是配置设置,因此

env.put(Context.INITIAL_CONTEXT_FACTORY, LdapCtxFactory.class.getName());


您可以通过将LdapCtxFactory.class.getName()替换为限定名称"com.sun.jndi.ldap.LdapCtxFactory"来删除对类的依赖,即

env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");

10-08 13:39