カテゴリ: Quarkus 更新日: 2026/03/13

Quarkusプロジェクト構成の基本を完全解説!初心者でも迷わない「どこに何を書くか」ガイド

Quarkusプロジェクト構成の基本!どこに何を書く?
Quarkusプロジェクト構成の基本!どこに何を書く?

先生と生徒の会話形式で理解しよう

生徒

「Quarkusでプロジェクトを作ったんですが、フォルダがたくさんあって、どこに何を書けばいいのか分からなくなりました……」

先生

「Quarkusのプロジェクト構成は、最初に全体像を知っておくと理解しやすくなります。」

生徒

「Javaのクラスや設定ファイルの置き場所が特に不安です。」

先生

「では、Quarkusプロジェクト構成の基本から、順番に見ていきましょう。」

1. Quarkusプロジェクト構成を理解する意味

1. Quarkusプロジェクト構成を理解する意味
1. Quarkusプロジェクト構成を理解する意味

Quarkusのプロジェクト構成を理解することは、料理を始める前に「どこに包丁があり、どこに調味料があるか」を確認するのと似ています。Java開発に慣れていない初心者の方でもスムーズに開発を進められるよう、Quarkus(クオーカス)では役割ごとにフォルダが厳密に整理されています。

もし「どこに何を書くのか」という基本ルールを知らないままコードを書き始めると、後から「あのプログラムはどこに置いたっけ?」と迷子になり、修正や機能追加が非常に困難になってしまいます。特にクラウドネイティブな開発を支えるQuarkusでは、標準的な構成に従うことで、自動ビルドやテストの恩恵を最大限に受けることができます。

ポイント: Quarkusは「設定より規約(Convention over Configuration)」を重視しています。決まった場所に置くだけで、複雑な設定なしにシステムが動く仕組みになっています。

例えば、画面に「こんにちは!」と表示させるだけの簡単なプログラムを書く場合でも、以下のような「Javaのルール」に基づいた配置が必要になります。


package org.example;

// これは「挨拶」を返すだけのシンプルなプログラム(クラス)です
public class Greeting {
    public String sayHello() {
        return "こんにちは!Quarkusの世界へようこそ!";
    }
}

このようなJavaファイル一つとっても、適切なフォルダ(src/main/java)に配置しなければ、Quarkusはそれをプログラムとして認識してくれません。プロジェクト構成の全体像を掴むことは、エラーに悩まされない開発への第一歩であり、開発環境構築の次にマスターすべき最重要の基礎知識といえます。

2. src/main/java の役割:アプリの「心臓部」を作る場所

2. src/main/java の役割:アプリの「心臓部」を作る場所
2. src/main/java の役割:アプリの「心臓部」を作る場所

Quarkusプロジェクトにおいて、最も頻繁に触れることになるのが src/main/java ディレクトリです。ここには、アプリケーションのメインとなるJavaのソースコードを配置します。

プログラミング未経験の方にとって、「どこに何を書けばいいか」は迷いやすいポイントですが、まずは「ユーザーに見せたい画面の裏側の処理」や「計算の仕組み」など、動く仕組みそのものはすべてこの中に入れる、と覚えておきましょう。ここに作成したプログラムが、Quarkusによって自動的に読み込まれ、Webアプリとして機能するようになります。

初心者のためのポイント:
Javaでは「パッケージ」というフォルダのような仕組みを使ってコードを整理します。例えば org.example というパッケージを作ると、実際のフォルダ構成も src/main/java/org/example/ となり、その中にファイルを保存していきます。


package org.example;

/**
 * 挨拶メッセージを返すだけのシンプルなプログラム(クラス)です。
 * 初心者の方は、まずこのような「部品」をここに追加していくことから始めます。
 */
public class GreetingService {

    public String sayHello() {
        // 画面に表示したいメッセージを返します
        return "こんにちは!Quarkusの世界へようこそ。";
    }
}

上記のサンプルコードのように、ビジネスロジック(特定の目的を果たすための処理)を記述したクラスを src/main/java 配下に配置することで、Quarkusの強力な機能である「ホットリロード(コードを書き換えると即座に反映される機能)」の恩恵を最大限に受けることができます。特別な設定ファイルを編集しなくても、Javaファイルを保存した瞬間にあなたの作ったプログラムが有効になります。

3. src/main/resources の役割

3. src/main/resources の役割
3. src/main/resources の役割

src/main/resourcesは、Javaコード以外の設定ファイルを置く場所です。Quarkusでは、このフォルダが非常に重要な役割を持ちます。

代表的なのが、application.propertiesやapplication.yamlです。ポート番号やアプリケーション名など、動作に関わる設定はここにまとめて書きます。


quarkus.application.name=sample-app
quarkus.http.port=8080

初心者がよく躓くのは、設定ファイルをsrc/main/javaに置いてしまうことです。設定ファイルは必ずsrc/main/resourcesに置く、と覚えておくとミスを防げます。

4. src/test/java と src/test/resources

4. src/test/java と src/test/resources
4. src/test/java と src/test/resources

Quarkusプロジェクトには、テスト用のフォルダも用意されています。それがsrc/test/javaとsrc/test/resourcesです。

src/test/javaには、テスト用のJavaクラスを置きます。アプリケーション本体とは別に管理されるため、本番コードと混ざりません。

src/test/resourcesは、テスト専用の設定ファイルやデータを置く場所です。初心者のうちは、存在を知っておくだけでも十分です。

5. pom.xml または build.gradle の役割

5. pom.xml または build.gradle の役割
5. pom.xml または build.gradle の役割

Quarkusプロジェクトのルートには、pom.xmlやbuild.gradleといったファイルがあります。これは、依存関係やビルド設定を管理するための重要なファイルです。

Quarkusで使う拡張機能やライブラリは、ここに追加します。Javaクラスとは違い、処理を書く場所ではありませんが、プロジェクト構成の中心となる存在です。

初心者は、まず「依存関係を管理する設定ファイル」として認識しておくと理解しやすくなります。

6. パッケージ構成はどう考える?

6. パッケージ構成はどう考える?
6. パッケージ構成はどう考える?

src/main/javaの中では、パッケージを使ってクラスを整理します。Quarkusでは、厳密なルールはありませんが、役割ごとに分けるのが一般的です。

たとえば、API用、サービス用といった形で分けることで、どこに何があるか分かりやすくなります。最初は小さな構成でも問題ありません。

「増えてきたら分ける」くらいの感覚で始めると、初心者でも無理なく進められます。

7. Quarkusプロジェクト構成で迷わないコツ

7. Quarkusプロジェクト構成で迷わないコツ
7. Quarkusプロジェクト構成で迷わないコツ

Quarkusのプロジェクト構成で迷わないための一番のコツは、「役割で場所を覚える」ことです。Javaコードはsrc/main/java、設定はsrc/main/resources、と役割で覚えるだけでも混乱が減ります。

すべてを最初から理解しようとせず、必要になった場所から少しずつ覚えていくのがおすすめです。Quarkusはシンプルな構成でも十分に動くため、初心者でも安心して学習を進められます。

まとめ

まとめ
まとめ

Quarkusプロジェクト構成を振り返って理解を深めよう

ここまで、Quarkusプロジェクト構成の基本について、src/main/java、src/main/resources、src/test/java、src/test/resources、そして設定ファイルであるpom.xmlやbuild.gradleの役割を順番に確認してきました。 Quarkusは高速起動や軽量実行といった特徴が注目されがちですが、実際の開発では「プロジェクト構成を正しく理解しているかどうか」が、学習効率や保守性に大きく影響します。 特に初心者のうちは、どこにJavaクラスを書くのか、設定ファイルはどこに置くのかが曖昧なまま進めてしまい、動かない原因が分からずに悩むことが少なくありません。

Quarkusでは、Javaコードはsrc/main/java、設定やプロパティはsrc/main/resourcesというように、役割ごとに配置場所が明確に分かれています。 この構成は、Java開発の基本的な考え方とも共通しており、一度理解すればSpring Bootなど他のフレームワークを学ぶ際にも役立ちます。 プロジェクト構成を理解することは、単なるフォルダの暗記ではなく、「このファイルは何のために存在するのか」を意識することが重要です。

また、テスト用のsrc/test/javaやsrc/test/resourcesは、最初のうちは触る機会が少ないかもしれませんが、本番コードとテストコードを分離するという考え方を早い段階で知っておくことで、 将来的に品質の高いアプリケーションを作る土台になります。 Quarkusのプロジェクト構成は、初心者が成長していく過程でも無理なく拡張できるように設計されているため、焦らず段階的に理解していきましょう。

まとめとしてのサンプルプログラム確認

最後に、今回学んだ内容を踏まえたシンプルなサンプル構成をもう一度確認してみます。 Javaクラスはsrc/main/java配下、設定はsrc/main/resources配下という基本を意識するだけでも、プロジェクト全体の見通しが良くなります。


package org.example.summary;

public class SummaryService {

    public String summaryMessage() {
        return "Quarkus プロジェクト構成の理解が深まりました";
    }
}

このようなクラスを正しい場所に配置することで、Quarkusは自動的にクラスを認識し、特別な設定を追加しなくても動作します。 プロジェクト構成を意識してコードを書く習慣を身につけることで、後から機能追加や修正を行う際にも迷いにくくなります。

先生と生徒の振り返り会話

生徒

「最初はフォルダが多くて難しそうだと思っていましたが、役割ごとに分かれていると分かってからは、どこに何を書けばいいか整理できるようになりました。」

先生

「それはとても大切な気づきですね。Quarkusのプロジェクト構成を理解することは、Java開発全体の基礎力を高めることにもつながります。」

生徒

「Javaクラスはsrc/main/java、設定ファイルはsrc/main/resourcesという基本を覚えるだけでも、作業がスムーズになりました。」

先生

「その通りです。すべてを一度に理解しようとせず、必要になった部分から少しずつ学んでいけば問題ありません。」

生徒

「これからQuarkusで機能を追加するときも、プロジェクト構成を意識して進めていきたいと思います。」

先生

「その意識があれば、コードが増えても迷いにくくなります。今回学んだQuarkusプロジェクト構成の基本を、ぜひ今後の開発に活かしてください。」

関連記事:
カテゴリの一覧へ
新着記事
New1
Quarkus
Quarkus拡張開発をマスター!ビルドプロセスの仕組みと内部構造を徹底解説
New2
Micronaut
Micronautの@Factoryとは?複雑なBean生成を管理するための方法を解説
New3
Quarkus
QuarkusのDIとCDIを完全理解!@Producesでプロデューサーメソッドを使う方法を初心者向けに解説
New4
Java
JavaのStringBufferクラスを徹底解説!スレッド安全な文字列操作の仕組みと使い分け
人気記事
No.1
Java&Spring記事人気No1
Java
Javaのコンパイルと実行の流れを解説!JVM・JDK・JREの違いも初心者向けに整理
No.2
Java&Spring記事人気No2
Micronaut
Micronautのフィルタ徹底解説!HTTPリクエスト共通処理をスマートに追加する方法
No.3
Java&Spring記事人気No3
Micronaut
Micronautのルーティング設定ガイド!プレフィックス付与とAPIバージョニングの基本
No.4
Java&Spring記事人気No4
Quarkus
QuarkusのCI/CD入門!GitHub Actionsで自動デプロイを実現する方法
No.5
Java&Spring記事人気No5
Java
Java Functionインタフェースの使い方を完全ガイド!map変換と処理チェーンを理解する
No.6
Java&Spring記事人気No6
Java
JavaのString比較を徹底解説!equalsと==の違い、初心者が陥る罠とは?
No.7
Java&Spring記事人気No7
Quarkus
Quarkus拡張開発を徹底解説!仕組みから自作エクステンションの作り方まで
No.8
Java&Spring記事人気No8
Quarkus
GitLab CIでQuarkusプロジェクトを構築!初心者向けCI/CDパイプライン入門ガイド