2011-10-18 73 views
1

我在WAS 6.1上運行的RAD 7.5上有一個web應用程序,它可以很好地工作。但是在到服務器上部署它引發以下錯誤:WAS 6.1上的EAR部署錯誤

 
    Error 404: SRVE0203E: Servlet [MyApplication]: com.mypackage.requestprocessing.servlet.impl.ServletFrontController was found, but is missing another required class. 

    SRVE0206E: This error typically implies that the servlet was originally compiled with classes which cannot be located by the server. 
    SRVE0187E: Check your classpath to ensure that all classes required by the servlet are present. 
    SRVE0210I: This problem can be debugged by recompiling the servlet using only the classes in the application's runtime classpath 

在此之後SRVE0234I下:應用classpath大量的文件中列出。

它肯定是一個類路徑問題。但是,我還沒有找到一個地方給出瞭如何解決這個問題的確切解決方案。

歡迎任何輸入!

+0

嗯,它提供了一個選項,它可能意味着它所說的 - 你正在編譯更多的類,比你部署時更多。 –

+1

在您的項目屬性中是否選擇了JRE Websphere 6.1和Target runtime作爲Websphere 6.1?請記住,WAS 6.1是JDK1.5和WAS 7是JDK1.6 – Brad

回答

0

只有一種可能的解釋:com.mypackage.requestprocessing.servlet.impl.ServletFrontController引用了一個在編譯期間可用但在運行時不可用的類。

如果您的Web項目的Java Build Path(右鍵單擊項目 - >屬性 - > Java Build Path,查看「Projects」和「Libraries」選項卡),您將不會感到驚訝,它指的是可幫助您的項目/ JAR編譯項目;但是,「Java Build Path」對話框僅列出用於編譯的工件,而不用於運行時。如果您有編譯運行時所需的項目/ JAR,則應從「Java構建路徑」中將它們移除並將它們添加到「JavaEE模塊相關性」面板(RAD 7.5)或「部署程序集」(RAD 8.0) ,因此項目/ JAR將被打包到您的WEB-INF/lib中。

+0

我不知道這是否解決了OP的問題,但我遇到了這個問題,我嘗試將JAR移動到JavaEE Module Dependencies,並且它是仍在發生。任何其他想法? – FrustratedWithFormsDesigner