2017-04-25 20 views
0

我正在部署一個web應用程序jre7 on wildfly9。在我的應用程序中,我具有將圖像從服務器返回到客戶端的功能。我首先從該位置獲取該圖像,然後使用ByteOutputStream將其轉換爲字節[]。我有NoClassFoundException for ByteOutputStream while ByteOutputStream is jre7 class and exists in rt.jar。我的代碼在本地tomcat7服務器上正常工作。NoClassFoundException:對於ByteOutputStream

+0

確保你正在建造的罐子是優步/陰影罐子。 – AmanSinghal

回答

0

當你編譯你的應用程序時,你需要在你的開發環境編譯類路徑中有你的應用程序使用/引用的類,如果你不這樣做,那麼會發生編譯時錯誤。 當您運行已編譯的應用程序時,您需要讓應用程序在您的JVM類路徑中使用/所引用的所有類,或者包含在您的應用程序包中,如果您不這樣做(那樣做),則會發生運行時錯誤。

因此,確保在構建jar時打包所有依賴關係。

+0

該罐子不是由我添加的。它是jre7中的內置jar。我也檢查了我的服務器rt.jar存在的jre7文件夾以及ByteOutputStream類。 –

+0

你好我已經通過爲ByteOutputStream添加一個外部jar解決了這個問題。但不明白爲什麼wildfly沒有在rt.jar本身中找到唯一的類,我可以在tomcat 7服務器中這樣做。 –