【发布时间】:2012-03-06 00:26:38
【问题描述】:
在尝试解决this problem的时候,遇到了一些文章等提到“孤立”的ClassLoaders。我无法通过 Google 搜索找到 isolated classloader 的定义,因此该术语可能不是广为人知的行话,并且在不同的上下文中可能具有不同的含义。
无论如何,Maven 的 surefire 插件可以使用隔离的 ClassLoader:http://maven.apache.org/plugins/maven-surefire-plugin/examples/class-loading.html
下面的答案之一也是参考an article explaining how to create an "isolated" ClassLoader。
以上参考都没有给出隔离类加载器的定义;他们似乎假设读者知道这意味着什么或可以查找它。但是,第二个链接确实包含关于“孤立”的含义的提示:
引导程序可让您在不污染系统类路径的情况下运行容器。这允许您以未污染的系统类路径作为其父级来运行已部署的应用程序。 您已实现类加载器隔离。
但我不太清楚本段或文章其余部分的内容和方式是什么。我看到他正在加载一个类的一个版本而没有覆盖/覆盖另一个版本——也许一个类加载器与另一个类加载器是不同的实例,而一个是另一个的父级?我不知道。
我特别渴望包含明确包含答案的链接的 Google 或 SO 搜索链接。直接链接到答案也有效。 :)
【问题讨论】:
-
请提供一个链接或引用来说明您的问题。 (顺便说一句,贪婪不是罪吗?:-))
-
@Stephen:如果你进来时把你的宗教狂热留在外面,我们将不胜感激。
-
嗯,我们从 Larry Wall 那里知道,程序员的三大美德是懒惰、急躁和狂妄,既然贪婪不是美德,那它一定是一种罪过。所以你去。
-
@MattiVirkkunen - 我可以建议你查一下“:-)”是什么意思。也许您需要拒绝自己的反宗教狂热设置。
-
@StephenC 我用上下文更新了我的问题。
标签: java classloader