我正在將常規J2EE應用程序轉換爲使用Maven。我能夠成功轉換爲Maven,並且我獲得了成功的「mvn deploy」。在將耳朵部署到WAS之後,這個問題正在面臨。我得到 SRVE0203E:Servlet [action] org.apache.struts.action.ActionServlet缺少另一個必需的類。哪些罐子需要存在於WEB-INF lib和.classpath中
我對於不同的應用程序有類似的問題,並且在嘗試了幾次「排除」jar之後,我能夠在WAS中成功部署應用程序。我有以下問題。
我們怎樣才能確定所有jar需要在WEB-inf \ lib文件夾中出現?
我們如何確定所有罐子需要在戰爭meta-inf的.class路徑中出現。
我們怎麼能確定,即使罐子中的.classpath提及,但並非強制性的,它需要存在於WEB-INF \ lib中(即類加載器將拉動從耳朵而不是戰爭)的戰爭將工作
僅供參考我使用J2EE 1.4
嗨卡洛斯非常感謝您的建議。這是我正在運行的。 1.如果我是對的,那麼在耳朵和戰爭中複製罐子都會導致課堂加載問題。 2.例如,如果我在我的web-inf lib中使用了struts.jar這樣的jar,那麼避免ear和war中的重複的最好方法是什麼,因爲struts可能會引入一些額外的傳遞依賴jar。所以如果我們排除其他傳遞性依賴關係在部署說明所需類之後失敗,但在調用struts時不可用。我仍然有這個問題,我不知道如何解決這個問題。 – techrawther 2012-03-13 01:35:49
您的企業應用程序有多少個Web模塊?如果它只有一個模塊,那麼最好的辦法就是將Struts及其所有依賴關係放在WEB-INF庫中,這樣就不會混淆其他模塊的類路徑 – 2012-03-13 02:13:00
我有3個Web模塊並複製了所有的jar文件所有的3個戰爭文件將會佔用空間。 – techrawther 2012-03-15 01:26:18