3.

mavenの.m2フォルダの場所(Mac & Windows)

編集
この記事の要点
  • Maven のローカルリポジトリ .m2 はデフォルトでホームディレクトリ直下
  • Linux/Mac: ~/.m2/
  • Windows: %USERPROFILE%\.m2\ (例: C:\Users\\.m2\)
  • 中身: repository/(ダウンロード済 jar)と settings.xml(任意)
  • 場所変更: ~/.m2/settings.xml で指定

 

.m2 フォルダとは

Maven が依存ライブラリ(jar / pom)をダウンロードしてキャッシュする場所。同じライブラリが複数プロジェクトで使われても、1 度だけダウンロードして再利用します。

OS 別のデフォルト場所

OSパス
Linux/home//.m2/ または ~/.m2/
Mac/Users//.m2/ または ~/.m2/
WindowsC:\Users\\.m2\ または %USERPROFILE%\.m2\
WSL~/.m2/ (WSL 内のホーム)

確認方法

# 1. 直接見る
$ ls -la ~/.m2/
drwxr-xr-x  4 user user     4096 May 15 12:00 .
drwxr-xr-x 50 user user     4096 May 15 12:00 ..
drwxr-xr-x  3 user user     4096 May 15 12:00 repository/
-rw-------  1 user user     1024 May 15 12:00 settings.xml

# 2. mvn コマンドで確認
$ mvn help:effective-settings | grep localRepository
/home/user/.m2/repository

# 3. mvn のシステム情報
$ mvn -version
Apache Maven 3.9.4
Maven home: /usr/share/maven
Java version: 17.0.8, vendor: Eclipse Adoptium
Java home: /usr/lib/jvm/java-17

# Windows コマンドプロンプト
> dir %USERPROFILE%\.m2
> mvn help:effective-settings | findstr localRepository

.m2 の中身

パス内容
~/.m2/repository/ダウンロード済みの jar / pom(Group ID 別フォルダ)
~/.m2/settings.xmlユーザ設定(リポジトリ・認証等)
~/.m2/settings-security.xml暗号化されたパスワード(任意)
~/.m2/repository/.cache/m2e/Eclipse m2e のキャッシュ
~/.m2/wrapper/Maven Wrapper(mvnw)の Maven バイナリ

場所をデフォルトから変更する

SSD 容量節約や、共有マシンでの分離のため、別の場所に変えたいことがあります。

方法 1: settings.xml で指定




    D:/maven-repo

方法 2: 環境変数 M2_HOME(非推奨:Maven 自体の場所)

注意: M2_HOME は Maven インストールディレクトリで、.m2 の場所ではありません。.m2 の場所を変えるのは settings.xml

方法 3: コマンドラインで一時的に

$ mvn -Dmaven.repo.local=/path/to/custom/repo install

サイズが大きくなりすぎたら

長期間使うと数 GB~数十 GB になります。整理方法:

# サイズ確認
$ du -sh ~/.m2/repository/
8.5G

# 重い Group ID トップ 10
$ du -sh ~/.m2/repository/*/ | sort -rh | head -10

# 全削除して再ダウンロード(思い切った方法)
$ rm -rf ~/.m2/repository/
# → 次のビルドで必要分だけ再ダウンロード

# 古いバージョンだけ削除(Maven Help プラグイン)
$ mvn dependency:purge-local-repository -DreResolve=false

# あるいは「使わなくなった jar」を削除するツールを使う

settings.xml の構造




    
    ${user.home}/.m2/repository

    
    
        
            internal-repo
            myuser
            secret  
        
    

    
    
        
            true
            http
            proxy.example.com
            8080
            localhost|*.internal
        
    

    
    
        
            nexus-mirror
            central
            https://nexus.example.com/repository/maven-public/
        
    

    
    
        
            internal
            
                
                    internal-repo
                    https://nexus.example.com/repository/maven-releases/
                
            
        
    

    
        internal
    

関連記事

編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. ビルドする方法(eclipse)
  2. エラー一覧
  3. .m2フォルダの場所
  4. ローカル(サードパーティ製)のjarを追加する方法