0

私は Android プロジェクトに取り組んでおり、他のプロジェクトにプルできるライブラリ/アーティファクト (?) にバージョンを付けて作成したいいくつかのコア コード (いくつかの依存関係がある) があります。私はビルドに Maven を使用しており、エディターは IntelliJ です。私は .jar を作成したことがありませんが、それが私がやりたいことだと思います。

IntelliJ では、File -> Project Structure -> Artifacts -> +に移動しましたが、迷ってしまいました。どのソース ディレクトリとファイルを jar に含めるかを定義する方法がわかりません。また、その依存関係の実際の jar を jar に含める必要があるかどうかもわかりません。または、これらの依存関係を pom.xml ファイルで定義し、pom.xml ファイルを jar に含めますか?

明確化をいただければ幸いです。

4

2 に答える 2

1

Maven プロジェクトの依存関係はそのpom.xmlファイルで定義されています (基本的に、ここから依存関係を変更することは、 File->Project Structure->Artifactsによって、Intellij を使用して視覚的に行っていることです)。Maven が取得するソース ファイルは、プロジェクトのsrc/mainディレクトリにあるものです。ビルドはデフォルトで依存関係を除外して行われるため、それらを最終的なjarに含めたい場合は、pom ファイル (プラグイン) でこれを指定する必要があります。

  <plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <executions>
      <execution>
        <phase>package</phase>
        <goals>
          <goal>attached</goal>
        </goals>
      </execution>
    </executions>
    <configuration>
      <descriptorRefs>
        <descriptorRef>jar-with-dependencies</descriptorRef>
      </descriptorRefs>
    </configuration>
  </plugin>

その後、 mvn installコマンドを実行してjarを作成する必要があります。Maven を外部またはIDE ( Maven プラグインがインストールされている場合) から実行すると、プロジェクトのターゲットフォルダーに jar が作成されます。

于 2013-07-16T13:33:37.870 に答える
0

IntelliJ IDEA の設定は、IntelliJ IDEA コンパイラを使用してビルドする場合にのみ JAR を作成します。Maven で JAR を作成して Maven リポジトリにデプロイするには、maven アセンブリ プラグインを使用する必要があります。依存関係を持つ jar を作成するための事前定義された構成があります。

Maven Shade プラグインは、JAR を作成し、より高度なユース ケースを処理することもできます。しかし、おそらくアセンブリ plugin/ から始めたいと思うでしょう。

于 2013-07-16T13:35:08.800 に答える