0
タイプと分類子のビンを使ってローカルのMavenリポジトリにアップロードしたアーティファクトを使用しているプロジェクトがあります。私は実行時にこの成果物に頼り、クラスパス経由でファイルを参照したいと思っています。タイプ/分類器ビンのMaven依存関係が実行時クラスパスに表示されない
基準点として、私のプロジェクトは、次のような依存関係を定義しています。私はmvn dependency:build-classpath
を実行すると、私はアーティファクトが記載されている見ることができます
<dependency>
<groupId>my.site</groupId>
<artifactId>binary-dependency</artifactId>
<version>1.0</version>
<type>bin</type>
<classifier>bin</classifier>
</dependency>
。しかし、私のコードでは、System.println("java.class.path")
を呼び出すには、コマンドラインでm2eとMavenを使用するEclipseの両方でこれを含めません。
なぜこれがクラスパスに表示されないのでしょうか?
いいえ、実際には私が使いたい実行可能ファイルです。この例では、Selenium 2が依存しているクロムドライバのバイナリです(これを残しておきます)。依存関係としてファイルシステムに引っ張られることを確かめることができるので、classpathシステムのプロパティを使ってその場所を見つけ、Selenium 2にそれを探すように指示することができたと私は考えました。 – theotherian
明確にするために(私は入力が提出する打撃を認識していませんでした)、私はそれがちょうど賢い方法は、Mavenの依存関係を介して、アプリケーションの実行時の依存性の絶対パスを取得すると思っていた。それがjarではないという事実のためにclasspath変数に追加されないなら、別の方法を考え出します。 Mavenがそれが依存関係プラグインを介してクラスパスの一部であることを伝えるより多くの混乱があったと思いますが、ファイルは実行時にクラスパスに表示されません。 – theotherian
さて、Mavenを使ってこの依存関係をダウンロードすることはできますが、それをどこに保管し、後で使用するかは本当にあなた次第です。クラスパスに追加することはできません。あなたがクラスパスでそれを望むならば、あなたはそれをjarファイルにラップすることができます(すべてのjarファイルはアーカイブです)。 – Tarlog