2017-04-25 10 views
0

jre7に組み込まれたWebアプリケーションをwildfly9にデプロイしています。私のアプリケーションでは、サーバーからクライアントまでの場所からイメージを返す機能があります。私は、最初に場所からその画像をフェッチし、それはByteOutputStreamを使用して[]のバイトに変換しました。私はNoClassFoundExceptionを持っています。ByteOutputStreamはjre7クラスであり、rt.jarに存在しますが、ByteOutputStreamはです。私のコードはローカルのtomcat7サーバーで正しく動作します。NoClassFoundException:ByteOutputStreamの場合

+0

ビルドしているJarがUber/Shaded Jarであることを確認してください。 – AmanSinghal

答えて

0

アプリケーションをコンパイルするときに、開発環境でアプリケーションが使用/参照するクラスをクラスパスでコンパイルする必要があります。そうしないとコンパイル時エラーが発生します。 あなたがコンパイルしたアプリケーションを実行すると、あなたは(それを行う)しない場合、実行時エラーが発生し、アプリケーションが使用するすべてのクラス/あなたのJVMクラスパスにはを参照するか、アプリケーションパッケージに含まを持っている必要があります。

だからあなたのjarファイルを構築しながら、あなたがすべての依存関係をパッケージ化していることを確認してください。

+0

私はjarファイルを追加していません。それはjre7のinbuilt jarです。また、私のサーバーrt.jarのjre7フォルダが存在し、ByteOutputStreamクラスもチェックしています。 –

+0

こんにちは私はByteOutputStream用の外部jarファイルを追加することで、問題を解決してきました。しかし、なぜwildflyがrt.jar自体の中で唯一のクラスを見つけていないのか理解できませんでした。私はtomcat 7サーバーでそうすることができます。 –