この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:4
ページ更新者:guest
更新日時:2026-06-11 07:07:02

タイトル: 外部ライブラリ
SEOタイトル: Java 外部ライブラリ導入完全ガイド — Maven/Gradle/jar/Eclipse/IntelliJ

この記事の要点
  • Java の外部ライブラリ導入はビルドツール経由が標準。Maven (pom.xml) または Gradle (build.gradle) に依存を 1 行書くだけ
  • 主要リポジトリ: Maven Central (repo.maven.apache.org)、Sonatype OSS、Spring、JCenter (廃止)、社内 Nexus / Artifactory
  • 依存スコープ: compile (実行時必須) / provided (Tomcat 等が提供) / runtime (実行時のみ) / test (テスト時のみ)
  • IDE のレガシー方式: Eclipse は「Java Build Path → Libraries → Add External JARs」、IntelliJ は「Project Structure → Libraries」で jar を直接追加
  • 有名 OSS: Apache Commons (文字列/数値補助)、Guava (Google), Jackson (JSON), Log4j 2 / SLF4J (ログ), JUnit (テスト)

外部ライブラリとは

Java の外部ライブラリは、JDK 標準には含まれない機能を提供する .jar ファイルの集合です。プロジェクトに追加することで、JSON パース・HTTP クライアント・ロギング・テストなどの定型処理を再発明せずに済みます。

導入方法は大きく 3 通り:

  1. Maven: pom.xml を書く (最普及)
  2. Gradle: build.gradleimplementation 行を書く
  3. 手動配置: lib/ ディレクトリに jar を置き、IDE の Build Path に追加 (レガシー)

Maven での導入

最も普及した Java 用ビルドツール。pom.xml を編集して保存するだけで、Maven Central から自動ダウンロードされます。



  4.0.0
  com.example
  my-app
  1.0.0

  
    
    
      com.fasterxml.jackson.core
      jackson-databind
      2.17.0
    

    
    
      org.apache.commons
      commons-lang3
      3.14.0
    

    
    
      org.junit.jupiter
      junit-jupiter
      5.10.0
      test
    
  
# 依存解決とビルド
mvn clean install

# 依存関係ツリー表示
mvn dependency:tree

# ローカルに jar を出力
mvn package

Gradle での導入

Maven より柔軟・高速。Kotlin DSL (build.gradle.kts) と Groovy DSL (build.gradle) の 2 種類。

// build.gradle
plugins {
    id 'java'
}

repositories {
    mavenCentral()
}

dependencies {
    implementation 'com.fasterxml.jackson.core:jackson-databind:2.17.0'
    implementation 'org.apache.commons:commons-lang3:3.14.0'
    implementation 'com.google.guava:guava:33.0.0-jre'

    // ログ
    implementation 'org.slf4j:slf4j-api:2.0.9'
    runtimeOnly   'ch.qos.logback:logback-classic:1.4.14'

    // テスト
    testImplementation 'org.junit.jupiter:junit-jupiter:5.10.0'

    // コンパイル時のみ (例: Lombok)
    compileOnly      'org.projectlombok:lombok:1.18.30'
    annotationProcessor 'org.projectlombok:lombok:1.18.30'
}
# Wrapper 経由でビルド (推奨)
./gradlew build

# 依存関係ツリー
./gradlew dependencies

# 特定タスク
./gradlew test
./gradlew bootRun       # Spring Boot

依存スコープ

Maven scopeGradle configuration使う場面
compile (旧) / 既定implementation常に必要 (アプリ本体で利用)
providedcompileOnlyTomcat / Servlet API のように実行環境が提供
runtimeruntimeOnlyJDBC ドライバなどコンパイル不要・実行時必要
testtestImplementationJUnit / Mockito 等テスト時のみ
system (非推奨)ローカル jar を強制参照 (避ける)

主要リポジトリ

名前URL説明
Maven Centralrepo.maven.apache.org事実上の標準。OSS の 9 割超
Sonatype OSS Snapshotss01.oss.sonatype.orgリリース前のスナップショット
Spring Releasesrepo.spring.ioSpring 系 (Spring 5 以降は Central と並行)
JCenter2022 年廃止。Maven Central へ移行
社内 Nexus / Artifactory社内 URL企業内プロキシ。社内ライブラリ配布

jar を直接配置 (レガシー方式)

ビルドツールが使えない学習プロジェクトや、Maven Central に無いライブラリでは、jar を lib/ に置いて IDE の Build Path から追加します。

Eclipse での追加

  1. プロジェクト直下に lib/ フォルダ作成、jar をコピー
  2. プロジェクト右クリック → PropertiesJava Build Path
  3. Libraries タブ → Classpath 選択 → Add JARs... (プロジェクト内) または Add External JARs... (外部)
  4. OK で適用 → .classpath ファイルに記録される

IntelliJ IDEA での追加

  1. File → Project Structure (Ctrl+Alt+Shift+S)
  2. 左メニュー Libraries+Java
  3. jar ファイルを選択 → どのモジュールに追加するか選ぶ
  4. 適用 → .idea/libraries/ に XML が生成

注意: 手動配置はチーム開発で再現性が悪いため、可能なら Maven / Gradle 化するのが現代的です。

有名 OSS ライブラリカタログ

分野ライブラリ用途
汎用ユーティリティApache Commons Lang / IO / Collections文字列/IO/コレクションのヘルパ
汎用ユーティリティGoogle Guava不変コレクション、キャッシュ、関数型
JSONJackson, Gsonシリアライズ/デシリアライズ
HTTP クライアントOkHttp, Apache HttpClient, RetrofitHTTP API 呼び出し
ログLog4j 2, Logback, SLF4Jロギング (SLF4J は facade)
テストJUnit 5, TestNG, Mockito, AssertJユニットテスト/モック
ORMHibernate, MyBatis, jOOQDB アクセス
Web フレームワークSpring Boot, Quarkus, Micronautサーバアプリケーション
DISpring, Guice, Dagger依存性注入
非同期/並行Project Reactor, RxJavaリアクティブストリーム

FAQ

Q: pom.xml に書いたのに NoClassDefFoundError が出る
A: mvn clean install を実行していない、または scope=provided なのに実行時クラスパスにライブラリが居ない可能性。mvn dependency:tree で実際の解決状態を確認しましょう。

Q: 同じライブラリの違うバージョンが混ざる (Diamond Dependency)
A: Maven は最も近い宣言を優先します。 や Gradle の resolutionStrategy で版数を固定しましょう。

Q: 社内プロキシで Maven Central に繋がらない
A: ~/.m2/settings.xml 設定を追加、または社内 Nexus を に登録して経由させます。