如何防止JBoss的web应用程序类路径?

时间:2011-01-30 13:50:44

标签: java jboss classpath

我在同一服务器中的JBoss中部署了两个Web应用程序。我观察到这两个Web应用程序之间共享了classpath。

那么我该如何防止应用程序之间的类路径咆哮。我的意思是在一个应用程序中可用的任何类和jar文件不应该在jboss中的同一服务器中的另一个应用程序中可见。

2 个答案:

答案 0 :(得分:1)

对于大多数版本的jBoss AS,您需要更新jboss-web.xml文件:

<jboss-web>
   <class-loading> 
      <loader-repository>com.example:archive=unique-archive-name</loader-repository> 
   </class-loading>
</jboss-web>

有关详细信息,请参阅以下参考资料:

答案 1 :(得分:0)

JBoss wiki州:

  

在jboss-3.2.3中,   jbossweb-tomcat41.sar配置为   使用统一的类加载器作为Web   应用程序类加载器这是   由UseJBossWebLoader控制   中的属性   jbossweb-tomcat41.sar/META-INF/jboss-service.xml   描述。使用统一的类   loader意味着类   可以在战争中获得   WEB-INF/classesWEB-INF/lib   被纳入默认值   共享类装入器存储库。这个   可能不是你想要的   与默认的servlet 2.3相反   类加载模型,可以导致   在两者之间共享类/资源   网络应用。你可以禁用它   通过将此属性设置为false。

接着说这个行为在4.0.2中已经改变了,所以你仍然需要在4.0.1中这样做是合理的假设。