2010-10-07 22 views
1

我已经构建了一个使用Tomcat 6作为容器的Web应用程序。我使用了几个Tomcat的Jars,并从Eclipse的ant build中引用它们。如何更改application.xml文件中的类加载器以支持部署的jar的偏好加载

我已经编写了另一个ant构建,将我的应用程序部署到.war中,然后再与application.xml部署描述符一起放入.ear中以部署到WAS 7.为了支持此操作,加入我的战争中,所以我知道他们可以通过Tomcat工作的应用程序。

我知道我需要在application.xml文件中加入一些东西,以使类加载器使用我已经插入的罐子,而不是WAS的,但对于我的生活,我甚至找不到合适的资源阅读application.xml文件中存在的全部选项,更不用说我需要输入这个(PARENT_LAST?)文本。

1)任何人都可以指向我的完整在线文档列表所有的东西,我可以放到我的application.xml来控制我的.ear

2)任何人都可以发布一个列表,它修改了下面的xml,这样当xml文件包含在.ear中时,它可以部署到WAS使得WAS容器的使用在封闭的战争中,而不是在WAS设置中的那些罐子。

我将永远感激。

<?xml version="1.0" encoding="UTF-8"?> 
<application id="Client"> 
    <display-name>Client</display-name> 
    <description>Web application supporting the configuration and management of server components</description> 
    <module id="Client"> 
     <web> 
     <web-uri>Client.war</web-uri> 
     <context-root>client</context-root> 
     </web> 
    </module> 
</application> 

回答

0

PARENT_LAST不可能帮你,更何况,我不会碰那个选项有10英尺长的极像我一直认为这是一个黑客。

您正在查找的行为是默认提供的 - 这实际上是根据J2EE规范工作的“正确”方式。您能否向我们提供您的EAR文件,您的WAR文件以及两者的文件的确切组成?

[编辑补充如下]

下面的评论是正确的,以及(感谢) - 如果你提供你的Web应用程序内从Tomcat JAR文件,那么你已经做了一些非常错误的,最有可能的不可移植。

  • 有关J2EE规范的JAR文件(例如包含J2EE API的JAR文件)由应用服务器供应商提供;您应该从可部署模块(EAR,WAR)中排除它们。
  • 与特定的Tomcat功能有关的JAR文件......那些在Tomcat之外不起作用,所以WebSphere迁移的整个主题都没有实际意义。
+0

在这种情况下,答案是正确的。不要这样做。我已经学会了不要从一台应用程序服务器中拉出来用于另一台应用程序服务器的难题。 – volvox 2010-10-18 16:16:12