繁体   English   中英

动态设置类路径

[英]Setting up classpath dynamically

我需要开发一个可以支持任何版本服务器的客户端。 每次使用客户端连接新服务器时,相应的服务器信息就会存储在客户端上,并且需要将类pat h设置为当前服务器特定的类路径位置。 根据服务器版本,需要设置类路径。 我面临着动态设置此类路径的问题。 我总是会收到ClassNotFound异常。 您能否建议我如何实现这一目标。

无法在运行时动态设置类路径。 您可以在这里做两件事:熟悉OSGi或编写自己的类加载器。 对于此特定示例,编写自己的类加载器会更容易。 您在服务器特定的类路径中保留什么? 类,资源,什么? 一些细节可能会有所帮助。

我不知道您到底想实现什么,但是假设您的客户端计算机中具有所有需要的库,而您只是想根据从服务器接收到的特定参数在运行时更改类路径,那么我会去ClassWorlds

我会尝试使用ClassWorlds的配置文件定义一组类领域,而客户端的主类将使用main方法中的ClassWorld参数实现。 然后,从服务器接收的参数将是这些领域中任何一个的名称。 因此,仅在读取了realm参数之后,您只需要将当前线程的类加载器切换到ClassWorlds为特定领域创建的类加载器即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM