2010-10-07 60 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