system
スコープ付きの依存関係をPOMに追加しようとしています。秘訣は、私が持っていないということsystemPath
です。代わりに、パスとして使用できるプロパティを含むプロパティファイルへのパスがあります。
これに対処するためにproperties-maven-pluginを使用しようとしましたが、プラグインが実行される前にシステムの依存関係が解決されるようです。そのため、定義しようとしているプロパティはすぐには利用できません。
これが私のPOMのセクションです:
<profiles>
<profile>
<id>dylink</id>
<dependencies>
<dependency>
<artifactId>outside-lib</artifactId>
<groupId>com.foo</groupId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${outsidelib.location}/outside-lib.jar</systemPath>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>1.0-alpha-2</version>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>read-project-properties</goal>
</goals>
<configuration>
<files>
<file>C:\path\to\file.properties</file>
</files>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
そして、私は次のようなものを実行し、絶対パスではないためmvn -P dylink compile
、自分は無効であると言われます。systemPath
(プロパティには絶対パスが含まれています)
または、これを行う他の方法はありますか?システムスコープの依存関係の場所をホストシステムに照会できるようにする必要があります。パスをPOMにハードコーディングするだけでは機能しません。