第5章 Red Hat build of Quarkus プラットフォームでの Red Hat build of OptaPlanner の使用
Red Hat build of OptaPlanner は、Red Hat build of Quarkus プラットフォームと統合されます。OptaPlanner の依存関係を含むプラットフォームアーティファクトの依存関係のバージョンは、Quarkus bill of materials (BOM)ファイル com.redhat.quarkus.platform:quarkus-bom
で維持されます。どの依存関係バージョンが連携するかを指定する必要はありません。代わりに、Quarkus BOM ファイルを pom.xml
設定ファイルにインポートできます。依存関係のバージョンは <dependencyManagement>
セクションに含まれています。そのため、pom.xml
ファイルの指定の BOM で管理される個別の Quarkus 依存関係のバージョンを記述する必要はありません。
関連情報
- Maven プラグインを使用して Quarkus プラットフォームに OptaPlanner プロジェクトを作成する方法については、「Maven プラグインを使用した Quarkus プラットフォームでの Red Hat build of OptaPlanner プロジェクトの作成」 を参照してください。
-
code.quarkus.redhat.com
Web サイトを使用して Quarkus プラットフォームで OptaPlanner プロジェクトを生成する方法は、「code.quarkus.redhat.com を使用した Quarkus プラットフォームでの Red Hat build of OptaPlanner プロジェクトの作成」 を参照してください。 - CLI を使用して Quarkus プラットフォームで OptaPlanner プロジェクトを生成する方法は、「Quarkus CLI を使用した Quarkus プラットフォームでの Red Hat build of OptaPlanner プロジェクトの作成」 を参照してください。
5.1. Apache Maven および Red Hat build of Quarkus リンクのコピーリンクがクリップボードにコピーされました!
Apache Maven は分散型構築自動化ツールで、ソフトウェアプロジェクトの作成、ビルド、および管理を行うために Java アプリケーション開発で使用されます。Maven は Project Object Model (POM) ファイルと呼ばれる標準の設定ファイルを使用して、プロジェクトの定義や構築プロセスの管理を行います。POM ファイルは、モジュールおよびコンポーネントの依存関係、ビルドの順番、結果となるプロジェクトパッケージのターゲットを記述し、XML ファイルを使用して出力します。これにより、プロジェクトが適切かつ統一された状態でビルドされるようになります。
Maven リポジトリー
Maven リポジトリーには、Java ライブラリー、プラグイン、およびその他のビルドアーティファクトが格納されます。デフォルトのパブリックリポジトリーは Maven 2 Central Repository ですが、複数の開発チームの間で共通のアーティファクトを共有する目的で、社内のプライベートおよび内部リポジトリーとすることが可能です。また、サードパーティーのリポジトリーも利用できます。
Quarkus プロジェクトでオンライン Maven リポジトリーを使用するか、Red Hat build of Quarkus の Maven リポジトリーをダウンロードできます。
Maven プラグイン
Maven プラグインは、POM ファイルの定義済みの部分で 1 つ以上のゴールを達成します。Quarkus アプリケーションは以下の Maven プラグインを使用します。
-
Quarkus Maven プラグイン (
quarkus-maven-plugin
): Maven による Quarkus プロジェクトの作成を実現して、uber-JAR ファイルの生成をサポートし、開発モードを提供します。 -
Maven Surefire プラグイン (
maven-surefire-plugin
): ビルドライフサイクルのテストフェーズで使用され、アプリケーションでユニットテストを実行します。プラグインは、テストレポートが含まれるテキストファイルと XML ファイルを生成します。
5.1.1. オンラインリポジトリーの Maven の settings.xml ファイルの設定 リンクのコピーリンクがクリップボードにコピーされました!
ユーザーの settings.xml
ファイルを設定して、Maven プロジェクトでオンライン Maven リポジトリーを使用できます。これは、推奨の手法です。リポジトリーマネージャーまたは共有サーバー上のリポジトリーと使用する Maven 設定は、プロジェクトの制御および管理性を向上させます。
Maven の settings.xml
ファイルを変更してリポジトリーを設定する場合、変更はすべての Maven プロジェクトに適用されます。
手順
テキストエディターまたは統合開発環境 (IDE) で Maven の
~/.m2/settings.xml
ファイルを開きます。注記~/.m2/
ディレクトリーにsettings.xml
ファイルがない場合には、$MAVEN_HOME/.m2/conf/
ディレクトリーから~/.m2/
ディレクトリーにsettings.xml
ファイルをコピーします。以下の行を Maven の
settings.xml
ファイルの<profiles>
要素に追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の行を
settings.xml
ファイルの<activeProfiles>
要素に追加し、ファイルを保存します。<activeProfile>red-hat-enterprise-maven-repository</activeProfile>
<activeProfile>red-hat-enterprise-maven-repository</activeProfile>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.1.2. Quarkus Maven リポジトリーのダウンロードおよび設定 リンクのコピーリンクがクリップボードにコピーされました!
オンライン Maven リポジトリーを使用しない場合は、Quarkus Maven リポジトリーをダウンロードして設定できます。Quarkus Maven リポジトリーには、Java 開発者がアプリケーションの構築に使用する要件の多くが含まれています。この手順では、Maven の settings.xml
ファイルを編集し、Quarkus Maven リポジトリーを設定する方法を説明します。
Maven の settings.xml
ファイルを変更してリポジトリーを設定する場合、変更はすべての Maven プロジェクトに適用されます。
手順
- Red Hat カスタマーポータルの Software Downloads ページから Red Hat build of Quarkus Maven リポジトリーの ZIP ファイルをダウンロードします。
- ダウンロードしたアーカイブを展開します。
-
~/.m2/
ディレクトリーに移動し、テキストエディターまたは統合開発環境 (IDE) で Maven のsettings.xml
ファイルを開きます。 以下の行を
settings.xml
ファイルの<profiles>
要素に追加します。ここで、QUARKUS_MAVEN_REPOSITORY
はダウンロードした Maven リポジトリーのパスです。QUARKUS_MAVEN_REPOSITORY
はfile://$PATH
でなければなりません。たとえばfile:///home/userX/rh-quarkus-2.13.8.GA-maven-repository/maven-repository
のようになります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の行を
settings.xml
ファイルの<activeProfiles>
要素に追加し、ファイルを保存します。<activeProfile>red-hat-quarkus-maven-repository</activeProfile>
<activeProfile>red-hat-quarkus-maven-repository</activeProfile>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Maven リポジトリーに古いアーティファクトが含まれる場合は、プロジェクトをビルドまたはデプロイしたときに以下のいずれかの Maven エラーメッセージが表示されることがあります。ここで、ARTIFACT_NAME
は不明なアーティファクトの名前で、PROJECT_NAME
は構築を試みているプロジェクトの名前になります。
-
Missing artifact PROJECT_NAME
-
[ERROR] Failed to execute goal on project ARTIFACT_NAME; Could not resolve dependencies for PROJECT_NAME
この問題を解決するには、~/.m2/repository
ディレクトリーにあるローカルリポジトリーのキャッシュバージョンを削除し、最新の Maven アーティファクトを強制的にダウンロードします。