1

別のプロジェクトのクラスを参照する Java Google App Engine プロジェクトがあり、実行時に NoClassDefFoundError が発生します。

Google App Engine プロジェクトを ' Main ' と呼び、それが依存するプロジェクトを ' Sub 'と呼びます。

実行時エラーの理由は、Subの jarが WEB-INF/lib に見つからないことのようです。Eclipse では、 Subを jar としてエクスポートし、それを WEB-INF/lib フォルダーにコピーすると、すべて正常に動作します。Subでファイルを変更するたびにこれを行う必要がありますか?

Visual Studio の世界から来た私は、プロジェクトが dll にビルドされ、プロジェクトが依存する 'bin' フォルダーにコピーされることに慣れています。私は日食が似たようなものをサポートすると思っていましたが、私はそれを見ていません。これを修正する正しい方法は何ですか?アントスクリプト?

4

1 に答える 1

2

はい - .NET で .dll を見たら、Java EE の JAR を考えてください。

依存する JAR が変更された場合、Web アプリの WEB-INF/lib の内容を更新する必要があります。

Eclipse が依存関係を処理する方法がわかりません。IntelliJ では、上記で説明したとおりに依存する JAR を希望または処理する場合、2 つの個別のモジュール間に依存関係を作成できます。

特に WAR ファイルを作成する Ant スクリプトを既に持っている場合は、Ant スクリプトを使用するのが最善の方法だと思います。

于 2012-05-21T18:28:05.283 に答える