質問: JAVAでの開発初心者です。 現在、以下の環境で開発を行っています。 windows7 ・eclipse4.3 kepler ・spring 4-1-6 ・Maven ・glassfish3.1 外部jarがデプロイの対象から漏れている状態です。 ビルドはできるのですが、ローカルのglassfishにデプロイした結果に 外部jarが反映されません。 起動すると以下のメッセージがコンソールに表示され動作しない状態です。 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/48028b60487f538433b51d027996a679.jpeg) いろいろ調べた結果、 [プロジェクト右クリック]→[プロパティー]→[デプロイメント・アセンブリー]に外部jarを登録すれば解決するとあったため実施したのですが、症状は同じのままです。 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/e766047a63f3324e5ed05f1b5f61a294.jpeg) また、[ウィンドウ]→[設定]→[java]→[ビルド・パス]→[ユーザライブラリー]にも外部jarは追加しています。 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/5eebc1b043c72b21dbeba73f64a89efe.jpeg) 他に何か足りないものがあるのでしょうか。 ちなみに、 [プロジェクト右クリック]→[プロパティー]→[デプロイメント・アセンブリー]から外部jarを除去すると、[問題]に以下のメッセージが表示されます。 クラスパス・エントリー org.eclipse.jdt.USER_LIBRARY/[外部jar] は、エクスポートまたは公開されません。実行時に ClassNotFoundExceptions が発生する可能性があります。 よろしくお願いします。 追記(2017.10.30 17:50) さまざまなサイトから調査をしたところ、maven-dependency-pluginをpom.xmlに追加すると 良いとありましたが、 maven-dependency-plugin (goals "copy-dependencies", "unpack") is not supported by m2e. とm2eに怒られるうえ、結局WEB-INF/libに対象のjarは無かった。。。
回答: https://qiita.com/KevinFQ/items/e8363ad6123713815e68 の「サードパーティJARをローカルリポジトリにインストールする。」 のように、外部jarを追加する場合の一例として apache maven がローカル作業用PCに配置済みとして、 例えば、oracleのjdbcドライバ(けっこう古いやつ)をローカルリポジトリ.m2に置く場合は、 ``` cd jarのある場所 mvn install:install-file -Dfile=ojdbc14-10.2.0.3.0.jar -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.3.0 -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true ``` を実行して、pomファイルに、依存性を追加します。 ``` com.oracle ojdbc14 10.2.0.3.0 ``` また、上記とは異なり、ローカルリポジトリにinstallしない場合は eclisepのプロジェクト直下のディレクトリに、lib ディレクトリを作成し、そこにpostgresql-9.4.1212.jarを置いた場合は 以下のように、systemPathとscopeを設定することで、ローカルリポジトリに置かなくてもmavenの依存性に追加できると思います ``` org.postgresql postgres 9.4.0-1212.jdbc4 system ${basedir}/lib/postgresql-9.4.1212.jar ```