1

私はMavenプロジェクトの構成でさらに別の問題を抱えています.gitプロジェクトでもあるmavenプロジェクト内に外部の.jarファイルを含める必要があり、両方をリモートのgitリポジトリに入れたいです.それを箇条書きにする必要がありますjar は別の Maven プロジェクト ( https://github.com/perwendel/sparkのクローン) の出力ですが、これが本当に問題かどうかはわかりません。

<plugin>
<groupId>com.googlecode.addjars-maven-plugin</groupId>
<artifactId>addjars-maven-plugin</artifactId>
<version>1.0.2</version>
<executions>
    <execution>
        <goals>
            <goal>add-jars</goal>
        </goals>
        <configuration>
            <resources>
                <resource>
                    <directory>../src/main/resources/</directory>
                    <includes>
                        <include>spark-0.9.9.5.jar</include>
                    </includes>
                </resource>
            </resources>
        </configuration>
    </execution>
</executions>
</plugin>

その後

<dependency>
     <groupId>spark</groupId>
     <artifactId>spark</artifactId>
     <version>0.9.9.5</version> 
</dependency>

次に、pom.xml と ../src/main/resources/ を使用してメインの Maven プロジェクトを git-push して実行しますが、ローカルの Maven リポジトリに関連するプロジェクトがあります。次の理由により、maven ビルドが失敗する別の場所:

...

spark:spark:jar:0.9.9.5 の POM がありません。依存関係の情報がありません

...

...

http://repo.maven.apache.org/maven2でspark:spark:jar:0.9.9.5 が見つからない場合は #ローカル リポジトリにキャッシュされました。解決は #central の更新間隔が経過するか更新されるまで再試行されません強制される -> [ヘルプ 1]

私はMavenにあまり熱心ではありません。何か不足していますか?間違ったプラグインですか?ありがとう

4

1 に答える 1

0

あなたは Maven の目的を理解していないように思えました。Maven の目的は、プロジェクト間の依存関係を定義することです。あなたの場合、スパークを使用するには、あなたが言及したように依存関係を pom に入れるだけです:

<dependency>
     <groupId>spark</groupId>
     <artifactId>spark</artifactId>
     <version>0.9.9.5</version> 
</dependency>

ここでの問題は、spark を開発している人々が Maven Central に足を踏み入れなかったことです。あなたがする必要があるのは、それらのgitリポジトリをクローンして実行することです

  mvn install

その後、このバージョンのアーティファクトをプロジェクトで使用できます。この種の問題を解決するには、リポジトリ マネージャー (Nexus、Artifactory、Archiva) をセットアップし、この種のアーティファクトをこのリポジトリにデプロイします。

このメッセージは、Maven セントラルでは利用できない依存関係を使用しようとしていることを意味します。解決策は、上記のように mvn install することですが、その前にディレクトリ${HOME}/.m2/repository/sparkを削除してください。

于 2012-11-29T08:49:53.157 に答える