0

私のプロジェクトでは、プロジェクトpom.xmlを使用してサードパーティのライブラリ依存関係を追加したという点でmavenを使用しています

<dependency>
    <groupId>com.google.android</groupId>
    <artifactId>support-v4</artifactId>
    <version>r6</version>
</dependency>

これで、この jar がコンパイル時にローカル リポジトリに追加され、maven 依存関係で確認できるようになりました。ここで、3 つの jar ファイルを含むスーパー jar を作成したいと考えています。したがって、以下のコードを使用して2つのファイルを含めることができます

<property name="First.jar" value="${basedir}/../Some/bin/SomeFirst-${project.version}.jar" />
<available file="${First.jar}" type="file" property="First-found" />
<fail unless="First-found" message="ERROR: failed to find First.jar, looked here: ${First.jar}" />

<!-- verify second.jar is available -->
<property name="second.jar" value="${basedir}/bin/some-project-name-${project.version}.jar" />
<available file="${second.jar}" type="file" property="second-found" />
<fail unless="second-found" message="ERROR: failed to find second.jar, looked here: ${second.jar}" />



<!-- glue all jars together into a super jar -->
<zip destfile="${super.jar}">
    <zipfileset src="${Second.jar}" />
    <zipfileset src="${First.jar}" excludes="META-INF/*,connectors/*" />
    <zipfileset src="Need third file relative path here " excludes="META-INF/*" />
</zip>

次のようなフルパスで作業できます。

<zipfileset src="C:/Users/xxx/.m2/repository/com/google/android/support-v4/r7/support-v4-r7.jar"  /> 

しかし、これは他のシステムでは機能しないと確信しています。 では、support-v4-r7.jar をローカル リポジトリから Pom.xml に相対的に参照するにはどうすればよいでしょうか。

4

3 に答える 3

0

設定することで、Maven のローカル リポジトリを定義できます。

 <localRepository>D:/Maven/LocalRepo</localRepository>   

  config/settings.xml 

Maven プロジェクトを正常にビルドしたとき。すべての依存関係がローカル リポジトリにダウンロードされます。

あなたの場合、独自のjarを使用している場合は、次のようにそのjarをpom.xmlに追加できます

<dependency>
    <groupId>your.group.id</groupId>
    <artifactId>your.art.id</artifactId>
    <version>SNAPSHOT</version>
    <scope>provided</scope>
</dependency>
于 2013-06-24T11:54:55.933 に答える