ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
外部ライブラリとは
Java の外部ライブラリは、JDK 標準には含まれない機能を提供する .jar ファイルの集合です。プロジェクトに追加することで、JSON パース・HTTP クライアント・ロギング・テストなどの定型処理を再発明せずに済みます。
導入方法は大きく 3 通り:
- Maven:
pom.xmlに<dependency>を書く (最普及) - Gradle:
build.gradleにimplementation行を書く - 手動配置:
lib/ディレクトリに jar を置き、IDE の Build Path に追加 (レガシー)
Maven での導入
最も普及した Java 用ビルドツール。pom.xml を編集して保存するだけで、Maven Central から自動ダウンロードされます。
<!-- pom.xml -->
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>my-app</artifactId>
<version>1.0.0</version>
<dependencies>
<!-- Jackson (JSON 処理) -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.17.0</version>
</dependency>
<!-- Apache Commons Lang -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.14.0</version>
</dependency>
<!-- JUnit 5 (テスト時のみ) -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.10.0</version>
<scope>test</scope>
</dependency>
</dependencies>
</project># 依存解決とビルド
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 scope | Gradle configuration | 使う場面 |
|---|---|---|
compile (旧) / 既定 | implementation | 常に必要 (アプリ本体で利用) |
provided | compileOnly | Tomcat / Servlet API のように実行環境が提供 |
runtime | runtimeOnly | JDBC ドライバなどコンパイル不要・実行時必要 |
test | testImplementation | JUnit / Mockito 等テスト時のみ |
system (非推奨) | — | ローカル jar を強制参照 (避ける) |
主要リポジトリ
| 名前 | URL | 説明 |
|---|---|---|
| Maven Central | repo.maven.apache.org | 事実上の標準。OSS の 9 割超 |
| Sonatype OSS Snapshots | s01.oss.sonatype.org | リリース前のスナップショット |
| Spring Releases | repo.spring.io | Spring 系 (Spring 5 以降は Central と並行) |
| JCenter | — | 2022 年廃止。Maven Central へ移行 |
| 社内 Nexus / Artifactory | 社内 URL | 企業内プロキシ。社内ライブラリ配布 |
jar を直接配置 (レガシー方式)
ビルドツールが使えない学習プロジェクトや、Maven Central に無いライブラリでは、jar を lib/ に置いて IDE の Build Path から追加します。
Eclipse での追加
- プロジェクト直下に
lib/フォルダ作成、jar をコピー - プロジェクト右クリック → Properties → Java Build Path
- Libraries タブ → Classpath 選択 → Add JARs... (プロジェクト内) または Add External JARs... (外部)
- OK で適用 →
.classpathファイルに記録される
IntelliJ IDEA での追加
- File → Project Structure (Ctrl+Alt+Shift+S)
- 左メニュー Libraries → + → Java
- jar ファイルを選択 → どのモジュールに追加するか選ぶ
- 適用 →
.idea/libraries/に XML が生成
注意: 手動配置はチーム開発で再現性が悪いため、可能なら Maven / Gradle 化するのが現代的です。
有名 OSS ライブラリカタログ
| 分野 | ライブラリ | 用途 |
|---|---|---|
| 汎用ユーティリティ | Apache Commons Lang / IO / Collections | 文字列/IO/コレクションのヘルパ |
| 汎用ユーティリティ | Google Guava | 不変コレクション、キャッシュ、関数型 |
| JSON | Jackson, Gson | シリアライズ/デシリアライズ |
| HTTP クライアント | OkHttp, Apache HttpClient, Retrofit | HTTP API 呼び出し |
| ログ | Log4j 2, Logback, SLF4J | ロギング (SLF4J は facade) |
| テスト | JUnit 5, TestNG, Mockito, AssertJ | ユニットテスト/モック |
| ORM | Hibernate, MyBatis, jOOQ | DB アクセス |
| Web フレームワーク | Spring Boot, Quarkus, Micronaut | サーバアプリケーション |
| DI | Spring, Guice, Dagger | 依存性注入 |
| 非同期/並行 | Project Reactor, RxJava | リアクティブストリーム |
FAQ
Q: pom.xml に書いたのに NoClassDefFoundError が出る
A: mvn clean install を実行していない、または scope=provided なのに実行時クラスパスにライブラリが居ない可能性。mvn dependency:tree で実際の解決状態を確認しましょう。
Q: 同じライブラリの違うバージョンが混ざる (Diamond Dependency)
A: Maven は最も近い宣言を優先します。<dependencyManagement> や Gradle の resolutionStrategy で版数を固定しましょう。
Q: 社内プロキシで Maven Central に繋がらない
A: ~/.m2/settings.xml に <proxies> 設定を追加、または社内 Nexus を <mirrors> に登録して経由させます。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?