小编chr*_*her的帖子

是否可以延迟加载类,可能会在以后动态加载?

我想知道,我已经尝试了无数令人费解的搜索术语来确定是否有办法延迟Java中的类加载.我的意思是,类可以在类/构建路径上找到,但我不希望它们在发布时加载.这导致使用错误的类加载器.

我是否可以选择性地延迟或阻止默认类加载器加载某些类/ JAR?

示例(在构建路径上使用第三方jar):

// boilerplate main
JarWrapper apiJar = SpecialJarLoader("api.jar"); // SpecialJarLoader is a proprietary class loader
Class apiClass = apiJar.loadClass("org.company.comm.AConnection"); // runtime failure here due to the class already being loaded
Run Code Online (Sandbox Code Playgroud)

如果我从构建路径中删除Jar,apiClass.getClassLoader()是预期的专有加载器.问题是我无法自由使用"org.company.comm.AConnection"或Jar中的任何其他类(包括IDE的自动完成),因为它实际上并不在构建路径上.

java classloader

4
推荐指数
1
解决办法
817
查看次数

标签 统计

classloader ×1

java ×1