web-dev-qa-db-ja.com

Maven:ソースと依存関係を含むプロジェクトをエクスポートする方法

私は、リポジトリなどに依存関係があるMavenプロジェクトを持っています。マシンでMavenを実行せずにIDE=で正常に開くことができるように、すべての依存関係でソースを「エクスポート」したいのですが。

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

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

27
glaz666

目標 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を指す)ため、サブフォルダーにコピー依存関係を使用する必要はありません。

32
cetnar

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

依存関係については、 Maven 2 Dependency Plugin およびその copy-dependencies はcetnarが指摘したように役立ちます。

ソースの場合、 Maven Source Plugin とその source:aggregate ゴール(または多分 Mavenアセンブリプラグイン と定義済みのsrc記述子ですがsource:aggregateはマルチモジュールのビルドに便利です。

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

10
Pascal Thivent

ソースとの戦争

<plugin>
    <groupId>org.Apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <configuration>
      <webResources>
        <resource>
          <directory>${build.sourceDirectory}</directory>
          <targetPath>src</targetPath>
        </resource>
      </webResources>
    </configuration>
  </plugin>
0
Georgy Gobozov