mainClass を指定するセクションを pom.xml に追加し、基本的に実行可能な jar を作成できるようにしました。Maven が管理する多くの依存関係も含めました。コンパイルされ、オプションなしでプログラムを実行すると、正常に実行され、使用情報が表示されます。ただし、実際にパラメーターを渡すと失敗し、NoClassDefFoundError: com/sas/isd/midasapi/ParticipantDetailExt と表示されます。これは、外部 jar として含めた jar にあります。コンパイルして実行して使用情報を表示することに混乱していますが、 ParticipantDetailExt はインポートされたクラスであるため、後でクラスを見つけることができません。だろう コンパイル中に見つからなかったことを識別しますか? 実行可能な jar を実行したときに ParticipantDetailExt を含む on jar が表示されるようにするにはどうすればよいですか? jar を外部 jar として追加する以外に、必要なクラスパスまたは pom の処理はありますか?
1 に答える
1
mvn clean package または mvn clean install を実行してjarを作成していると仮定します.デフォルトでは、mavenプロジェクトによって作成されたjarには、そのjarに依存関係が含まれていません。
オプション 1# 依存関係のある jar を作成します。参照: Maven を使用して依存関係のある実行可能な JAR を作成するにはどうすればよいですか? .
オプション 2# 依存関係を lib フォルダーにコピーするだけの場合は、http: //maven.apache.org/plugins/maven-dependency-plugin/copy-dependencies-mojo.htmlを参照してください。
于 2012-11-15T15:29:33.037 に答える