什么';这是Java9+;更换Sun&x27;什么是虚拟视频控制?

什么';这是Java9+;更换Sun&x27;什么是虚拟视频控制?,java,ldap,jndi,Java,Ldap,Jndi,我维护一个代码库,它使用旧的sun ldap增强包中的com.sun.jndi.ldap.ctl.VirtualListViewControl,并尝试将其更新为Java 11标准 第一个问题是,在尝试编译代码时,您会得到: …]无法访问com.sun.jndi.ldap.BasicControl 找不到com.sun.jndi.ldap.BasicControl的类文件 可以通过向编译器参数添加以下内容来修复此问题: --添加导出java.naming/com.sun.jndi.ldap=ALL

我维护一个代码库,它使用旧的sun ldap增强包中的
com.sun.jndi.ldap.ctl.VirtualListViewControl
,并尝试将其更新为Java 11标准

第一个问题是,在尝试编译代码时,您会得到:

…]无法访问com.sun.jndi.ldap.BasicControl
找不到com.sun.jndi.ldap.BasicControl的类文件

可以通过向编译器参数添加以下内容来修复此问题:

--添加导出java.naming/com.sun.jndi.ldap=ALL-UNNAMED

这允许类路径上的增强包代码访问
java.naming
模块中的内部
com.sun.jndi.ldap.BasicControl
,一切正常

但是,使用
--add exports
很难看,更确切地说,这与使用
--release
选项来确保生成特定的代码级别和API不兼容

我一直在四处寻找,但似乎找不到任何类似于更新/模块化ldapbp或VLV控件替代实现的东西


因此,我的问题是:Sun旧的
VirtualListViewControl
可以很好地与Java 9+配合使用,它的官方或公认的替代品是什么?还是有其他方法可以使用旧的方法,而不需要
--添加导出

我不确定,没有ldap方面的经验。但是Javax类会工作吗@来自增强包的Dylan
PagedResultsControl
被添加到Java 5中的
javax.naming.ldap
包中,但是
VirtualListViewControl
没有,并且没有任何等价物。我不确定,没有ldap方面的经验。但是Javax类会工作吗@来自增强包的Dylan
PagedResultsControl
被添加到Java 5中的
javax.naming.ldap
包中,但是
VirtualListViewControl
没有,其中没有任何等效项。