最近のアクセス:
Java のソースのパッケージ化

[ アプリケーションをデプロイ ] には、バイナリを直接パッケージ化するのではなく、後でバイナリをアセンブルするために Java のソースをパッケージ化するオプションがあります。それから、これらのファイルは Git などのバージョン管理下に置くことができます。
[ アプリケーションをデプロイ ] を使用して、 [ ターゲット ] で「ローカル」を選択し、 [ Package Type ] プロパティに「Sources」の値を設定する必要があります。 
イメージ:54657.png
[ デプロイ ] ボタンをクリックすると、選択した Deployment Unit オブジェクトに対応するソースコード、設定ファイル、およびリソースが、特定のフォルダ構造にコピーされます。以下で詳細を説明します。

ビルド管理ツール

GeneXus 18 以降では、Java ジェネレーターの依存関係およびビルドプロセスの管理に Gradle を使用するようになりました (「Gradle と Java ジェネレーター」参照)。
そのため、 [ アプリケーションをデプロイ ] では、ユーザーがビルドしてパッケージ化するツールとして Gradle を使用する必要がある場合に、gradle.properties ファイルを生成します (ほかのツールも使用可能)。
[ アプリケーションをデプロイ ] で生成される構造は、次のとおりです:
  • src\
    • Main\java\<パッケージ>
      <パッケージ> は [ Java package name ] プロパティです。すべてのソースファイルと設定ファイル (client.cfg、images.txt、messages<lang>.txt) は、このディレクトリーの下に配置されます。
    • main\webapp\WEB-INF.
      この構造は、Web アプリケーション向けに作成されます。これには、このディレクトリーの下に配置するために必要な設定ファイルが含まれます。
  • build.gradle ファイル
    このファイルは、Web ディレクトリーからデプロイパッケージのルートにコピーされます。
    gradlew、gradle.bat、gradle フォルダもパッケージに自動的にコピーされます。
  • gradle.properties ファイル
    このファイルは、デプロイユニットから抽出できる情報 (Java プラットフォーム、データストア、サーブレットのバージョンなど) から生成されます。これらの情報はすべて、アプリケーションのコンパイルおよび実行に必要なすべての依存関係をダウンロードするために Gradle エンジンによって使用されます。
警告: ユーザーのニーズに応じて、build.gradle ファイルを変更する必要があります。

Web ディレクトリーからコピーされた build.gradle ファイルは、素早い起動に役立ちますが、GeneXus 開発専用のタスク (Maven リポジトリから依存関係をダウンロードし、ローカルのフォルダ構造にバイナリをコピーする) が含まれることに注意してください。
ニーズに合わせて変更する必要があります。

Java のソースのパッケージ化に使用する MSBuild スクリプト 

CI/CD パイプラインを作成するには、「アプリケーションをデプロイする MSBuild タスク」で説明されているように、MSBuild タスクを使用して [ アプリケーションをデプロイ ] を実行できます。
実行の 1つ目の手順は、CreateDeployProject ターゲットです。この手順では、デプロイユニットの全体的なコールツリーおよび後に使用する複数のプロパティを含む .gxdproj ファイルを作成します。
2つ目の手順は、前のステップで生成された .gxdproj スクリプトファイルを入力として受け取ります。
最終的なパッケージがソースかバイナリかを示す [ DEPLOY_TYPE ] プロパティを受け取ります。この場合、SOURCES の値がこのプロパティに渡されます。

CreatePackage ターゲットを実行するコマンドの例

MSBuild.exe  /verbosity:minimal /ToolsVersion:4.0 "c:\<Web model directory>\<project>.gxdproj"
/p:GX_PROGRAM_DIR=<GX program directory>
/p:USE_APPSERVER_DATASOURCE="False"
/p:DEPLOY_TYPE="SOURCES"
/p:APPLICATION_KEY="000000000000000000000000000"
/p:INCLUDE_GAM="False"
/p:INCLUDE_GXFLOW_BACKOFFICE="True"
/p:TARGET_JRE="9"
/p:TimeStamp="20230511182904"
/p:AppName="GenexusWebApp"
/t:CreatePackage
生成されるパッケージには、Gradle を使用してアプリケーションをビルドするために必要なすべてのソース、リソース、依存関係が含まれます。

Spring Boot アプリケーションのソースのビルド

Spring Boot Java アプリケーションの場合、アプリケーションのソースをパッケージ化する際に考慮すべきことは特にありません。
生成される .gxdproj ファイルには、JavaFrameWork が SpringBoot であることを示すプロパティがあるため、デプロイエンジンはアプリケーションが Spring Boot フレームワークを使用していることを検出します。

パッケージのビルド

パッケージをビルドするには、次のコマンドを実行します。 
gradlew build 
前述のように、gradle.properties ファイルはデプロイエンジンによって生成され、その情報は Gradle エンジンによってアプリケーションのコンパイルと実行に必要なすべての依存関係をダウンロードするために使用されます。

一時的な制限事項

非 SpringBoot アプリケーションの場合、パッケージには本当に必要な以上の依存関係が含まれています。


サブページ
Created: 23/08/24 18:59 by Admin Last update: 24/12/18 16:11 by Admin
カテゴリ
Powered by GXwiki 3.0