Java 言語には多くのバージョンがあります。一般的に使用されている Java 8 に加えて、一部のレガシー プロジェクトでは Java 7 が使用され、一部の新しいプロジェクトでは Java 10 以降が使用される場合があります。ローカルの Java 開発環境を切り替える場合は、ある程度の時間がかかり、将来的に異なるバージョンを切り替えるたびに切り替えを行う必要があります。 Docker の登場により、開発環境やコンパイル環境のさまざまなバージョンを簡単に維持できるようになりました。Docker が何なのかわからない場合は、Docker の概要をお読みください。 Java開発環境を構築するには2つの方法があります。1つはコンテナ内でコンパイルして実行する方法、もう1つはコンテナ外でコンパイルして実行する方法。それぞれやり方を見ていきましょう。 準備: まず、Docker がインストールされていることを確認します。都合がよければ、 コンテナ内でコンパイルして実行する この記事では、簡単な Helloworld プログラムを例に挙げます。プロジェクトのファイル ディレクトリ構造とコードは次のとおりです。 $ ls -lh 合計 24 -rw-r--r-- 1 shiqiang スタッフ 60B 11 11 19:02 Dockerfile -rw-r--r-- 1 shiqiang スタッフ 123B 11 11 19:02 Helloworld.java コードの内容。 パブリッククラスHelloWorld { パブリック静的void main(String args[]) { System.out.println("こんにちは世界。\n"); } } 上記の準備が完了したら、Dockerfile の内容を編集できます。 FROM openjdk:8 #openjdk:8 に基づいてイメージを構築します COPY . /usr/src/myapp #ディレクトリ内のコードをイメージ内の /usr/src/myapp の場所にコピーします WORKDIR /usr/src/myapp #/usr/src/myapp を作業ディレクトリとして設定します RUN javac Helloworld.java #コンパイル コマンドを実行して Helloworld.java プログラムをコンパイルします CMD ["java", "Helloworld"] #コンパイルされた Helloworld を実行します イメージファイルをビルドします。 java_in_docker_env_8 を実行します。 $ docker images # docker imagesコマンドを使用して、ビルドされたjava_in_docker_env_8イメージを確認します コンテナを実行します。 $ docker run -it --rm java_in_docker_env_8 こんにちは世界。 $ ls -lh 合計 24 -rw-r--r-- 1 shiqiang スタッフ 112B 11 12 10:53 Dockerfile -rw-r--r-- 1 shiqiang スタッフ 123B 11 12 10:49 Helloworld.java プログラムの出力を確認し、現在のディレクトリにコンパイルされていない結果があるかどうかを確認できます。しかし、この方法ではコンテナを起動するたびにコンパイルする必要があり、コンパイル結果を共有する方法がありません。次のセクションでは、コンパイル結果をコンテナ外に保存する方法について説明します。 コンテナ外でコンパイルして実行する 作業ディレクトリとコードの準備は前のセクションと同じですが、Dockerfile ファイルは前のセクションとは少し異なります。 openjdk:8より コピー . /usr/src/myapp ワークディレクトリ /usr/src/myapp イメージファイルをビルドします。 $ dockerビルド -t java_env_8 $ docker images # docker imagesコマンドを使用して、ビルドされたjava_env_8イメージを確認します ファイルをコンパイルします。 $ docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp java_env_8 javac Helloworld.java $ ls -lh # コンパイルされた結果の合計32が表示されます -rw-r--r-- 1 shiqiang スタッフ 112B 11 12 10:53 Dockerfile -rw-r--r-- 1 shiqiang スタッフ 427B 11 12 11:09 Helloworld.class -rw-r--r-- 1 shiqiang スタッフ 123B 11 12 10:49 Helloworld.java プログラムを実行します。 $ docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp java_env_8 java Helloworld こんにちは世界。 最後に この記事では、単純な Java 開発環境のみを構築します。この方法を使用して Java プログラムをコンパイルして実行する利点は、JDK をローカルにインストールする必要がないことです。これは、複数の JDK バージョンのプログラムをコンパイルする必要がある場合に便利です。しかし、複雑なプロジェクトは Maven や Gradle を使用して構築されることが多いです。そのようなプロジェクトも、この記事で紹介した方法で構築できるでしょうか? 次回の記事もお楽しみに。また、公式アカウントをフォローして、最新の記事をプッシュで受け取るのもお勧めです。 参考資料Docker - Java 開発環境の作成 Docker を使って簡単な Java 開発およびコンパイル環境を構築する方法についての記事はこれで終わりです。Docker を使って Java 開発およびコンパイル環境を構築する方法の詳細については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
目次1. 準備Redisイメージを取得する2. Redis Sentinel マスタースレーブモード...
シナリオ1. ID番号のフィールドを備えた市民システムを維持する2. ビジネス コードでは、重複する...
この記事では、トップに戻るボタンを実装するためのJavaScriptの具体的なコードを参考までに紹介...
序文Sass は CSS3 言語の拡張機能です。Sass を使用すると、より良いスタイルシートをより...
この記事は 123WORDPRESS.COM Lightning によるオリジナルです。転載する際に...
マイクロサービスのイメージは、保存用に Docker リポジトリにアップロードされます。一般的に使用...
この記事では、jsで簡単な計算機を作成する具体的なコードを参考までに共有します。具体的な内容は次のと...
成果を達成する 実装コードhtml <div class="wrap"&g...
目次1. 短絡判定2. オプション連鎖演算子 (?) 3. ヌル合体演算子 (??) 4. 終了関数...
この記事では、カード ウォーターフォール レイアウトを実現するための CSS3 列のサンプル コード...
Remax は、実行時に構文制限のないソリューションを採用した React を使用して小規模なプロ...
フロントエンドの担当者であれば、面接でも仕事中でも、「CSS を使用して中央揃えにする」という効果に...
今日、CentOS6.2 をインストールしていたところ、ハード ドライブの検出段階を通過できませんで...
JWT の紹介JWTとは正式名称はJSON Web Tokenで、現在最も人気のあるクロスドメイン認...
目次序文1. NJSモジュールをインストールする方法1: NJSモジュールを動的にロードする方法2:...