27

レポなどに依存関係があるMavenプロジェクトがあります。ソースをすべての依存関係と共に「エクスポート」して、Maven をマシン上で実行しなくても IDE で正常に開くことができるようにします。

プロジェクトを war ファイルにパッケージ化すると、すべての依存関係がパッケージ化されます。

それで、すべての依存関係とソースを 1 か所に集めて、IDE (Eclipse または IDEA) で開くことができるすべてのライブラリを検出したいですか?

4

3 に答える 3

32

目標copy-dependenciesで maven-dependency-plugin を試してください

<project>
[...]
<build>
<plugins>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <executions>
      <execution>
        <id>copy-dependencies</id>
        <phase>package</phase>
        <goals>
          <goal>copy-dependencies</goal>
        </goals>
        <configuration>
          <outputDirectory>${project.build.directory}/alternateLocation</outputDirectory>
          <overWriteReleases>false</overWriteReleases>
          <overWriteSnapshots>false</overWriteSnapshots>
          <overWriteIfNewer>true</overWriteIfNewer>
        </configuration>
      </execution>
    </executions>
  </plugin>
</plugins>
</build>
[...]
</project>

PS。
Maven と IDE の統合 ( Eclipse pe 用) を認識していますか? Maven は特定の IDE 用のプロジェクトを生成し、すべての依存 jar を変数として含めることができるため (ローカル リポジトリ内のこれらの jar を指す)、依存関係をサブフォルダーにコピーする必要はありません。

于 2009-11-17T20:34:14.440 に答える
10

実際には、すぐにソースと依存関係を含むバンドルを作成するものはありません。このためには、いくつかのプラグインを組み合わせて使用​​する必要があります。

依存関係については、cetnar が指摘しているように、 Maven 2 Dependency Pluginとそのプラグインが役立ちます。copy-dependencies

ソースについては、Maven ソース プラグインとそのsource:aggregateゴール (または、Maven アセンブリ プラグインと事前定義されsrcた記述子が必要source:aggregateですが、マルチモジュール ビルドには便利です) が必要になる場合があります。

全体をバインドする (そしておそらくソースをアンパックする) には、Maven Assembly Pluginを使用します。

于 2009-11-17T21:20:52.990 に答える