web-dev-qa-db-ja.com

Maven jarビルドプロセスに外部jarを含める方法

Mavenで依存関係を持つ.jarファイルを構築したい。残念ながら、ビルドパスにいくつかの外部.jarを含める必要があります。このプロジェクトをmavenパッケージでビルドしようとすると、これらの外部.jarが見つからないというエラーが表示されます。

これらのjarを追加するためにpomファイルを適合させる方法は?電流:

    <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.Apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.directory}/classes/lib</outputDirectory>
                            <overWriteReleases>false</overWriteReleases>
                            <overWriteSnapshots>false</overWriteSnapshots>
                            <overWriteIfNewer>true</overWriteIfNewer>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.Apache.maven.plugins</groupId>
                <artifactId>maven-Assembly-plugin</artifactId>
                <version>2.2-beta-4</version>
                <configuration>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
    </plugins>
19
Matthias Kricke

<scope>system</scope>を使用して、外部jarを依存関係としてビルドパスに含めることができます。

これを確認してください link

13
basiljames

以下のコマンドを使用して、外部jarを.m2フォルダーに追加する必要があります

mvn install:install-file -Dfile=[JAR] -DgroupId=[some.group] -DartifactId=[Some Id] -Dversion=1.0.0 -Dpackaging=jar

これにより、指定されたjarが.m2フォルダーに追加されます。その後、pom.xmに移動して、指定されたグループID、アーティファクトID、およびバージョンの依存関係を追加します。

6
Nirbhay Rana

これの簡単な解決策は、ローカルのMavenリポジトリに追加することです

1つの方法は、前の投稿で示唆されたmvn installコマンドを介したものです。

別の簡単な方法は、

  1. Eclipse IDEでプロジェクトを右クリックし、Mavenオプションを選択します。
  2. [アーティファクトをMavenリポジトリにインストールまたは展開する]オプションを選択し、[次へ]をクリックします。
  3. [アーティファクトファイル]チェックボックスの横にある参照をクリックして、jarファイルを選択します。
  4. GroupIdとArtifactIdを入力し、バージョンを確認してPOMを生成し、チェックサムを作成し、パッケージがjarであることを確認します

完了をクリックしてください、ワラ!!!ジョブが完了すると、jarはローカルリポジトリに追加され、setting.xmlまたはm2ディレクトリで定義できます。

ここで、インポートごとに入力したGroupId、ArtifactIdおよびjarバージョンごとに単純なmaven依存関係を追加するだけで、外部jarがmavenによってパッケージ化されます。

3
swapnil thorat