11

Maven アセンブリ プラグインを使用して、Java プロジェクトのバイナリをファット jar にパッケージ化しています (jar-with-dependencies 記述子を使用)。これはかなりうまくいきます。

質問: プロジェクトのソース ファイルをコンパイル済みのクラス ファイルと一緒に含めるにはどうすればよいですか? その方法を見つけるためにMavenのドキュメントを調べようとしましたが、何も見つかりませんでした。

ありがとう!

私の pom.xml は次のようになります。

<project>
...
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                    <finalName>${pom.artifactId}-${pom.version}</finalName>
                    <appendAssemblyId>false</appendAssemblyId>
                    <outputDirectory>${project.basedir}/bin/</outputDirectory>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
4

2 に答える 2

6

最も簡単な解決策は、事前定義された記述子srcを使用することです。または、事前定義された記述子projectを使用する方がよい場合もあります。

  <descriptorRefs>
    <descriptorRef>jar-with-dependencies</descriptorRef>
    <descriptorRef>src</descriptorRef>
  </descriptorRefs>

または他のオプションは次のようになります。

  <descriptorRefs>
    <descriptorRef>jar-with-dependencies</descriptorRef>
    <descriptorRef>project</descriptorRef>
  </descriptorRefs>
于 2013-05-15T18:25:34.953 に答える
4

バイナリとソース コードをファット jar として配布することを選択することは、特定の要件ですか? 通常、バイナリとソース ファイルは一緒に配布されますが、個別の jar ファイルとして配布されます。Maven Central の多くのプロジェクトがこのアプローチを使用しており、Nexus や Artifactory などのリポジトリもこれをサポートしています。このオプションを選択すると、maven-source-pluginが友達になります。ドキュメントから:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-source-plugin</artifactId>
  <executions>
    <execution>
      <id>attach-sources</id>
      <goals>
        <goal>jar</goal>
      </goals>
    </execution>
  </executions>
</plugin>

そして、実行しmvn source:jarます。構成オプションについては、Web ページを参照してください。

于 2013-05-15T18:31:51.833 に答える