LoginSignup
2
6

More than 5 years have passed since last update.

Mavenの依存モジュールを操作する

Posted at

Mavenの依存モジュールを操作する

ソースは公開されているがMavenリポジトリで公開されていないモジュールを利用するときに困ったので、依存関係を処理するコマンドのメモ。

jarを生成

  • targetフォルダにjarファイルを生成する。
$ mvn package
  • ソースとJavadocのjarファイル生成
$ mvn source:jar javadoc:jar

テストをスキップする

  • maven.test.skipプロパティを利用
    • -Dオプションでコマンドラインから指定できる。
$ mvn package -Dmaven.test.skip=true

fat jar(uber-jar) を作成

  • 依存するモジュールを一つのjarにまとめる。
    • assemblyプラグインを利用する(またはshade)。
    • ここではassemblyを利用する。

pom.xml

<build>
  [...]
  <plugins>
    [...]
    <plugin>
      <artifactId>maven-assembly-plugin</artifactId>
      <version>3.0.0</version>
      <configuration>
        <descriptorRefs>
          <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
      </configuration>
      <executions>
        <execution>
          <id>make-assembly</id>
          <phase>package</phase>
          <goals>
            <goal>single</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>
  • packageコマンドで、targetフォルダに*-jar-with-dependencies.jarが出力される。
    • 通常のjarファイルもあわせて出力される。
$ mvn package

依存ライブラリをダウンロード

任意のフォルダにダウンロード

  • dependency:copy-dependenciesで依存しているモジュールをダウンロードする。
$ mvn dependency:copy-dependencies
$ mvn dependency:copy-dependencies -Dclassifier=sources
$ mvn dependency:copy-dependencies -Dclassifier=javadoc

ローカルリポジトリにダウンロード

  • デフォルトのローカルリポジトリ
    • ${HOME}/.m2/repository
    • リポジトリを変更するならmaven.repo.localプロパティを変更する
$ mvn dependency:go-offline
2
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
6