Mavenにojdbc6.jarファイルをプロジェクトのwarファイルにバンドルさせることができないようです。Hibernateツールの依存関係を直接指定すると、POMファイル内で機能します。しかし、プロジェクトのwarファイルにバンドルされないため、私のプロジェクトはTomcatで実行できません。
私はここでこの質問に指定されたものを含め、ネットで見つけることができるすべての解決策を試しました:
MavenリポジトリーでOracle JDBCドライバーを見つける
最近、私は次のことを行いました:
jarファイルを自分のマシンにダウンロードする
次のコマンドを実行して、jarをローカルリポジトリにインストールします。
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.3 -Dpackaging=jar -Dfile=ojdbc6.jar -DgeneratePom=true
(私はそのコマンドのすべての種類のバリエーションも試しました。)
最後に、依存関係をpomファイルに追加します。
<dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> <version>11.2.0.3</version> </dependency>
クリーンビルドを実行しますが、失敗します。
mvn -U clean package [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building jazztwo 0.0.1 [INFO] ------------------------------------------------------------------------ Downloading: http://repo1.maven.org/maven2/com/oracle/ojdbc6/11.2.0.3/ojdbc6-11.2.0.3.jar [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 0.700s [INFO] Finished at: Tue Mar 27 15:06:14 PDT 2012 [INFO] Final Memory: 3M/81M [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal on project jazztwo: Could not resolve dependencies for project edu.berkeley:jazztwo:war:0.0.1: Could not find artifact com.oracle:ojdbc6:jar:11.2.0.3 in central (http://repo1.maven.org/maven2) -> [Help 1]
なぜこれが機能しないのですか?部屋に高価なコンピュータ部品を投げる準備ができています。これは多くの時間を無駄にしました。(オラクル、ありがとう。もう一度いくら払った?)
Macを使っているからでしょうか?
mvn install:install-file
に働いていません。ojdbc6.jar
コマンドの絶対的な場所を指定するか、それを含むフォルダーからコマンドを実行する必要があります。ファイル名は問題ありません。-X
フラグを付けて実行すると、情報をデバッグできます。
install-file
か?Mavenは、ファイルのインストール先、またはエラーが発生したかどうかを通知します。
ojdbc6-11.2.0.3.jar
がローカルリポジトリの正しいフォルダにあるかどうかを確認できますか?