ホームページ > Java > &#&チュートリアル > JeKa: 実際に Java を始める最も簡単な方法

JeKa: 実際に Java を始める最も簡単な方法

Susan Sarandon
リリース: 2025-01-06 20:13:50
オリジナル
591 人が閲覧しました

JeKa: The Simplest Way to Start with Java for Real

JeKa は、シンプルさを重視した最新の Java ビルド ツールです。

Java を使い始めるとき、開発者は通常、コードを作成し、コンパイルして、実行するだけです。ただし、これだけでは、他のユーザーが再利用できる便利な Java アプリケーションやライブラリを作成するには十分ではありません。 Java で実用的なものを構築するには、次のことを行う必要があります:

  • サードパーティのライブラリ (Guava、Gson、Commons CLI など) を使用します
  • 他の人が使用できるように、アプリケーション/ライブラリをパッケージ化してデプロイします。

これは、MavenGradle などの従来のビルド ツールを使用して行われることがよくあります。これらのツールには多大な学習が必要であり、面倒な構成が必要になる場合があります。
より簡単な代替手段は JBang です。これを使用すると、ほぼ単一ファイルの Java アプリを作成し、簡単に共有できます。

一方、Jeka は JBang のようにシンプルな依存関係管理とデプロイメントを提供しながら、適切なテストが含まれた標準的なマルチクラス アプリケーションやライブラリを構築できます。

新しいコードベースを足場にする

前提条件: Jeka がインストールされている必要があります。

ヒント: 利用可能なオプションをリストするには、jeka Base: --doc.

を実行します。

すぐにコーディングを開始できる基本構造を作成するには、次のコマンドを実行します。

jeka base: scaffold scaffold.kind=APP
ログイン後にコピー
ログイン後にコピー

次のプロジェクト構造が得られます:

. 
├── jeka-src             <- Source root directory
│   ├── _dev             <- Optional package containing all non-prod (build and test)
│   │   ├── test
│   │   └── Build.java  
│   └── app              <- Sugested base package for production code/resources
│       └── App.java     
├── jeka-output          <- Generated dir where artifacts as jars, classes, reports or doc are generated
├── jeka.properties      <- Build configuration  (Java and jeka version, kben configurations, ...)
└── README.md            <- Describes available build commands
ログイン後にコピー
ログイン後にコピー

すべての Java コードは jeka-src フォルダーにあるはずです。

_dev は、開発 (テスト、ビルドなど) にのみ使用されるソース コードと依存関係用の特別なパッケージです。Java を初めて使用する場合は、無視するか削除しても問題ありません。

スキャフォールドされた例には、app パッケージに App クラスが含まれています。任意のパッケージ内のクラスを追加または変更できます。

IntelliJと同期する

IntelliJ と同期するには、次のコマンドを実行します。

jeka intellij: iml --force
ログイン後にコピー
ログイン後にコピー

IntelliJ に変更が表示されない場合は、プロジェクトのルート ディレクトリに移動し、jeka intellij: initProject.

を実行します。

依存関係の追加

App.java クラスは、ライブラリを参照する @JkDep アノテーションを宣言します。ライブラリは必要なだけ追加できます。すべてのライブラリを同じ基本クラスで宣言することをお勧めします。

@JkDep("com.github.lalyos:jfiglet:0.8.9")
@JkDep("com.fasterxml.jackson:jackson-bom::pom:2.18.2")
@JkDep("com.fasterxml.jackson.core:jackson-core")
@JkDep("com.fasterxml.jackson.core:jackson-annotations")
public class App {

    public static void main(String[] args) {
        ...
    }
}
ログイン後にコピー
ログイン後にコピー

依存関係の表記の詳細を参照してください。

さらに、JAR ファイルを次のディレクトリにコピーして貼り付けて、依存関係として自動的に含めることができます。

├── jeka-boot      <- Jars included in the production classpath.
ログイン後にコピー
ログイン後にコピー

本番以外の依存関係を宣言します

本番環境に埋め込んで依存関係を追加するには、_dev パッケージの下のクラスへの依存関係を宣言します。

package _dev;

@JkDep("org.junit.jupiter:junit-jupiter:5.11.4")
@JkDep("org.mockito:mockito-junit-jupiter:5.15.2")
class Build extends KBean {
    ...
}
ログイン後にコピー
ログイン後にコピー

リマインダー: 依存関係を変更したら、忘れずに jeka intellij: iml を実行してください。

アプリケーションを実行する

アプリケーションは以下を使用して実行できます:

jeka base: scaffold scaffold.kind=APP
ログイン後にコピー
ログイン後にコピー

開始前にコンパイルをクリーンにするには、--clean オプション (略して -c) を使用します。

このソース コードが Git リポジトリでホストされている場合、リポジトリを次のように参照することでアプリケーションを直接実行できます。

. 
├── jeka-src             <- Source root directory
│   ├── _dev             <- Optional package containing all non-prod (build and test)
│   │   ├── test
│   │   └── Build.java  
│   └── app              <- Sugested base package for production code/resources
│       └── App.java     
├── jeka-output          <- Generated dir where artifacts as jars, classes, reports or doc are generated
├── jeka.properties      <- Build configuration  (Java and jeka version, kben configurations, ...)
└── README.md            <- Describes available build commands
ログイン後にコピー
ログイン後にコピー

ライブラリを作成する

アプリケーションではなくライブラリを作成する場合は、Maven リポジトリで公開するために、moduleId とバージョン管理の両方を宣言する必要があります。

jeka intellij: iml --force
ログイン後にコピー
ログイン後にコピー

これで、次のコマンドを実行してライブラリを公開できます:

@JkDep("com.github.lalyos:jfiglet:0.8.9")
@JkDep("com.fasterxml.jackson:jackson-bom::pom:2.18.2")
@JkDep("com.fasterxml.jackson.core:jackson-core")
@JkDep("com.fasterxml.jackson.core:jackson-annotations")
public class App {

    public static void main(String[] args) {
        ...
    }
}
ログイン後にコピー
ログイン後にコピー

コードをテストする

スキャフォールドされたコードには、_dev.test.MyTest テスト クラスがすでに含まれており、実行する準備ができています。

├── jeka-boot      <- Jars included in the production classpath.
ログイン後にコピー
ログイン後にコピー

好きなパッケージにさらにテストを追加できます。ただし、_dev パッケージ (またはそのサブパッケージ) にないテスト クラスはデッド コードとして運用 JAR に含まれることに注意してください。

Java バージョンの変更

現在、Java は急速に進化しており、6 か月ごとに新しいリリースがリリースされています。 JeKa は、Java バージョンを切り替えるための非常に便利な方法を提供します。 jeka.properties ファイルでバージョンを指定するだけです:

package _dev;

@JkDep("org.junit.jupiter:junit-jupiter:5.11.4")
@JkDep("org.mockito:mockito-junit-jupiter:5.15.2")
class Build extends KBean {
    ...
}
ログイン後にコピー
ログイン後にコピー

これにより、次回のアプリケーションのコンパイルまたは実行中に JDK 23 が自動的にインストールされます。

事前定義されたビルドコマンド

特に、Jeka は次のコマンドを提供します。

jeka --program arg0 args1 ... # or `jeka -p` for short
ログイン後にコピー

その他のコマンド:

jeka --remote [git repo url] --program arg0 arg1 ... # or jeka -r [git repo url] -p
ログイン後にコピー

完全なプロジェクト構造への移動

コードベースが拡大するにつれて、完全なプロジェクト構造を使用するほうが快適になるかもしれません。
プロジェクトへの移動は簡単です。その方法を理解するには、「プロジェクトのビルド」チュートリアルを参照してください。

Kotlin を使用したコード作成

コードベースに Kotlin コードを記述することもできます。 jeka.properties ファイルで使用する kotlin バージョンを指定するだけです:

@base.moduleId=org.example:my-lib
@base.version=1.0.0-SNAPSHOT
ログイン後にコピー

これで、以下に示すように Kotlin コードを編集したり、コードベース内の既存の Java コードとシームレスに統合したり、100% Kotlin アプリケーションを作成したりすることもできます。

jeka maven: publish
ログイン後にコピー

結論

Jeka は、従来のビルド ツールの負担なしで実際の Java アプリケーションの作成を開始できる実用的なモードを提供します。

そのポリモーフィックな構造により、単純さを犠牲にすることなく、段階的に増加する複雑さとサイズを処理できます。

リソース:

  • ジェカ
  • 簡単なアプリの例
  • Spring-Boot アプリの例
  • ベースの構築チュートリアル
  • その他の例

以上がJeKa: 実際に Java を始める最も簡単な方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート