私たちはビルドプロセスにANTを使用しており、近い将来にこれを変更する計画はありません。一部のライブラリjarをフェッチするためにMavenを使用する
は、の一般的なオープンソースのjarファイル(Log4J、SWT、JFaceなど)を取得してプロジェクトの適切な場所に配置することができます。バージョン管理—は、ホームディレクトリに典型的なMaven-cacheを作成しないといいですか?
私たちはビルドプロセスにANTを使用しており、近い将来にこれを変更する計画はありません。一部のライブラリjarをフェッチするためにMavenを使用する
は、の一般的なオープンソースのjarファイル(Log4J、SWT、JFaceなど)を取得してプロジェクトの適切な場所に配置することができます。バージョン管理—は、ホームディレクトリに典型的なMaven-cacheを作成しないといいですか?
org.life.java's answerのバリエーションでは、私はmvn install
をしません。
代わりに、のpom.xmlに私は、次のビットを追加します。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
は今、あなただけの完全なmvn install
よりもはるかに高速である、mvn generate-sources
を行う必要があり、そしてすべての依存関係はにコピーされます指定されたディレクトリ
オハイオ州btw、それではApache Ivyは約ですか? Mavenの依存関係管理を理解するためにAntを拡張していますか?
1は、Apacheアイビー – Goibniu
のために、私はどちらかのApache Ivyのことは知りません。ここや他のライブラリをそこにコピーすることは可能ですか? – Mot
@mklhmnn私はアイビーを試したことがありません。私は時にはアリを使用しているmavenユーザーです。それ以外の方法ではないので、Ivyの対象読者ではありません。しかし、ここでは機能ページからの引用があります: 'Apache Ivyを使用すると、Apache AntビルドファイルにApache Mavenの依存関係管理機能を持たせることができます。Apache Antビルドファイルは、既にApache Antを使用していて、 Mavenプロジェクトしかし、Apache Ivyはそこに止まらず、さらに多くの素晴らしい機能を提供します! http://ant.apache.org/ivy/features.html –
maven-ant-tasksとすることもできます。
特に、そのdependencies
antタスク。この設定では、Mavenをインストールする必要はありません。
<?xml version="1.0" encoding="UTF-8"?>
<project
name="download-dependency"
basedir="."
default="download-dependency"
xmlns:artifact="antlib:org.apache.maven.artifact.ant"
>
<target name="download-dependency">
... define properties ...
<taskdef
resource="org/apache/maven/artifact/ant/antlib.xml"
uri="antlib:org.apache.maven.artifact.ant"
/>
<artifact:dependencies>
<localRepository path="${local-repo.dir}"/>
<remoteRepository id="central" url="${repository-uri}"/>
<dependency
groupId="${groupId}"
artifactId="${artifactId}"
version="${version}"
type="${type}"
classifier="${classifier}"
scope="runtime"
/>
</artifact:dependencies>
</target>
</project>
プロジェクトにチェックインするバイナリはmaven-ant-tasks.jar
です。
私たちのプロジェクトでは、(documentation)Mavenリポジトリマネージャを使用して、さまざまなリポジトリへのアクセスを集中管理し、環境固有のバイナリを維持しています。 Nexusのヘルプでは、ちょうど既知のURLから、というタスクを使ってmaven-ant-tasks.jar
を取得します。 Nexusを使用する必要はありませんが、開発者のマシンに近いバイナリをキャッシュするため、ビルドの速度が大幅に向上します。
アイビーはちょうどこれを行い、 は、それ自体をブートストラップする場合:
http://ant.apache.org/ivy/history/latest-milestone/samples/build.xml
<property name="ivy.install.version" value="2.0.0-beta1"/>
<property name="ivy.jar.dir" value="lib"/>
<property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar"/>
<target name="resolve" unless="skip.download">
<mkdir dir="${ivy.jar.dir}"/>
<echo message="installing ivy..."/>
<get src="http://repo1.maven.org/maven2/org/apache/ivy/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar" dest="${ivy.jar.file}" usetimestamp="true"/>
</target>
またはantのタスクを作成します。いずれかは、リポジトリからアーティファクトをダウンロードするためにantを使用します。 http://maven.apache.org/ant-tasks/index.html – michael
maven-ant-tasksを使用しないでください。これは廃止予定の非常に古いプロジェクトですが、基本的な解決はしますが、それを超えるものは、 – sloven