refs
officialsite: https://maven.apache.org/index.html
repo: https://mvnrepository.com/
dependencies: https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html
ピンポイントで調べたいときの例
site:maven.apache.org dependency:sources with google
読み方はメイヴン
distribution系 from Mavenとは何ぞや - Qiita
mvn package
jarをつくる
mvn install
つくったjarを、ローカルリポジトリにインストールする
作成した JAR ファイルはローカルリポジトリにインストールすることで、ローカルにある他のプロジェクトから参照することができるようになります。
ええ、installって、install xxxxで外部ライブラリ持ってくる、じゃねえの?🐰
mvn deploy
つくったjarを、リモートリポジトリに配置する
何もわからんので基礎から from Mavenの基本勉強メモ - Qiita
アーティファクトは、プロジェクトの成果物
普通はビルドしてできたjar
リポジトリは、アーティファクトを保存した場所
リモートリポジトリ
デフォではセントラルリポジトリが使われる
Sonartype社が管理しているとのこと
申請すれば誰でも登録できる。英語だが無料
ローカルリポジトリ
ローカルのキャッシュ
デフォは %USERPROFILE%\.m2\repository とからしい
プライベートリポジトリ
Nexus という oss を使ってホストされたリポジトリ
オンプレとかで持てる、というかプロキシ
mavenのサーチはlocal > nexus > remoteの順になる
---
plugin
mavenは基本的に何をするにもプラグイン単位
goal
plugin中の個々のタスクのこと
phase
ビルドの段階を分けた単位
phaseごとに、あるpluginのあるgoalを指定するイメージ
lifecycle
phaseの一連のセット
---
scope
依存関係に存在する概念で、その依存関係を使う範囲のこと
test スコープが指定されている依存関係は、テストコード(src/test/java)のコンパイルとテストの実行時にだけ使用することを表している
スコープは、次の6種類存在する
compile provided runtime test system import
<scope>provided</scope>のように指定
指定がない場合は compile
---
dependencies
このように宣言すると、 Maven はプロジェクトをビルドするときに自動的に <dependencies> で宣言したアーティファクトをリモートリポジトリからダウンロードしてきてくれて、クラスパスに追加してくれる
npm脳の🐰としてはmvn install xxxxしたらxxxxの情報がpom.xmlに書き込まれる、なんだけど、違うっぽいよね?
全部のjarをかき集める
mvn dependency:copy-dependencies
---
BOM
import とか dependencyManagement とかいったキーワードが出ている
BOM をつくれるらしい?
https://repo1.maven.org/maven2/org/springframework/boot/spring-boot-dependencies/2.2.6.RELEASE/spring-boot-dependencies-2.2.6.RELEASE.pom
properties に narsion が並んでいる🐰
---
Links From <- Maven
Links To ->