Java类路径加载问题

时间:2011-06-30 07:01:40

标签: java classpath war ear

我想知道会发生什么,如果我有一个有耳朵和战争的应用程序,并且在每个类名为“Test”的类中? 它是罐头地狱吗? 首先加载哪些类(来自耳朵或来自战争)? 请把我送到某个地方,在那里我可以更详细地了解这个棘手的案例。

2 个答案:

答案 0 :(得分:1)

Servlet容器通常使用one-classloader-per-webapp策略来避免这种地狱。因此,如果您在同一容器上部署了两个应用程序,那么将具有不同的类加载器,以满足其类解析和加载需求。 Tomcat has a document for this

当然,有一些问题,比如使用JDBC驱动程序(每个JVM进程一个)和JNI(给定的JVM不能被给定的JVM加载多次或者某些东西)工作依旧。

答案 1 :(得分:0)

你必须使用包裹。 com.foo.Testcom.foo2.Test不同。