2017-04-21 36 views
1

私はMavenプロジェクトを商業的に配布しており、JDBC経由で多くの異なるデータベースに接続することができます。通常、顧客はWebサーバーのlibディレクトリに必要なJDBCドライバを配置してアクセス可能にします。特定のjdbcドライバをpomに含めることはできません。たとえば、Oracleの場合、ライセンスタイプのためです。Eclipse Mavenプロジェクトのクラスパスにアンマネージ依存関係を追加

Eclipseで実行しているときに、アプリケーションでOracle JDBC接続を使用しようとしています。クラスパス上でJDBC jarを取得する必要があります。何らかの理由で、maven依存関係を介してpom.xmlに追加しないと、そのようなことができないようです。

私は確かにプロパティ - > Javaビルドパス - >ライブラリ - >外部JARの追加が動作すると思った。この方法でビルドパスに追加すると、パッケージエクスプローラで正しく表示されますが、実行時にClass.forNameを実行するとClassNotFoundExceptionがスローされます。なぜそのクラスの道にはないのですか?

+0

同じものをCLASSPATH環境変数に追加すると、その変数を介して参照されます。 –

+0

これはあなたを助けるかもしれません:http://stackoverflow.com/questions/1074869/find-oracle-jdbc-driver-in-maven-repository –

答えて

2

articleを参照してください。これは、クラスパスをスローアウェイコードに設定するためのショートカットを示したり、クラスパスの依存関係を管理するための控えめなソリューションを提供したり、管理したり、クラスパスの依存関係を自動化することもできます。大規模なプロジェクトではこれらを自動化する必要があります。

これらのjarバージョンを非常に頻繁に変更しない場合は、CLASSPATH変数を設定する方が良い方法です。そうしないと、問題の間違いをデバッグする貴重な時間がかかってしまいます。

これは、あなたの問題の理解と解決に役立ちます。

+0

意味がある、私はそれを実行/プロジェクトではなくサーバーの構成をデバッグします。しかし私はこのアプローチも好きです。ありがとうございました – nmb1106

+0

@ nmb1106! –

0

pomに関連するjarファイルを含めますが、<optional>にします。その後、アプリケーションにはパッケージされませんが、ユーザーが提供できます。

関連する問題