最近のアクセス:
Java ジェネレーターでのコンパイルプロセス

ナレッジベースの Java ジェネレーター環境を初めてビルドする場合、必要なライブラリが Gradle からキャッシュメモリー (既定で C:\Users\<user>\.gradle\caches\modules-2\files-2.1) にダウンロードされます。
次に、標準クラスの必須セットがこのキャッシュからモデルの \web\build\libs ディレクトリーにコピーされます。
注:
  • このように、Gradle にはパッケージがダウンロードされるキャッシュメモリーがあるため、ビルドを実行するたびにインターネットにアクセスする必要はありません。「Java ジェネレーターのオフラインシナリオ」を参照してください。
  • 以降は、各フォルダおよびファイルがモデルディレクトリーに配置されます。
  • 環境にプロキシが設定されている場合、ライブラリをダウンロードできるようにするには、[ Gradle Options ] プロパティでプロキシのプロパティを設定する必要があります。その方法については、次のドキュメントを参照してください: 「Build Environment」。 [ Gradle option ] プロパティを使用できない場合は、代わりに gradle.properties ファイルでプロパティを設定する必要があります。
Java 標準クラスは 2 つのリポジトリで公開されます: Maven Central および Azure Artifacts。どちらのリポジトリも build.gradle ファイルで設定されます。
生成されたコード (*.java ファイル) は src\main\java フォルダに配置されます。
この生成されたコードをコンパイルする際には、Gradle キャッシュにダウンロードされた必須ライブラリを使用するほか、lib フォルダ内の *.jar ファイルも考慮されます。このようにして、追加のパッケージを lib フォルダにコピーすることができます。
: 現在、ドライバーフォルダにある *.jar ファイルも、クラスパスへの追加パッケージと見なされます。これは将来廃止されるため、*.jar ファイルは lib フォルダに配置するようにしてください。

コンパイルされたファイルは \build\classes\java\main フォルダに残され、そこから、GeneXus からトリガーされるコマンド ライン プロセスが実行されます。 
これらのプロセスの実行で考慮されるライブラリは、\web\build\libs にあります。
: 実行時に使用する *.jar ファイルを追加する場合は、それを \web\build\libs フォルダ内ではなく lib フォルダ内に追加することが重要です。これは、Gradle のクリーニングが実行されるときに、\web\build\libs フォルダが削除されるためです。

また、Gradle は GeneXus で設定した Tomcat 内に webapp を作成し、その実行に必要なファイルすべて (*.jar、クラス、静的リソースなど) をコピーします。 
コピーされる *.jar ファイルは、コンパイルの完了時にオンデマンドでダウンロードされた *.jar ファイルと、lib フォルダとドライバーフォルダに置かれている *.jar ファイルです。
JavaScript ファイルはモデルの js フォルダに生成されます。これらはコンパイル時に Tomcat にコピーされます。

[ すべてリビルド ] の実行 

ナレッジベースで [ すべてリビルド ] を実行すると、GeneXus は clean オプションを指定して Gradle を呼び出します。このオプションでは次のものが削除されます:
  • Tomcat webapp。
  • コンパイル済みのソースが格納されたビルドフォルダ。
  • src\main\java フォルダ。

考慮事項

リポジトリで公開されていない外部オブジェクト

どのリポジトリでも公開されていない外部オブジェクトがある場合、ClassPath に正しく追加されていることを確認する必要があります。これを行うには、次の手順に従います:
  1. 外部オブジェクトが格納された JAR ファイルオブジェクトを選択します。
  2. Extract Java を .\lib に設定します。
これらの手順により、GeneXus は JAR ファイルを web フォルダの "lib" フォルダに自動的にコピーし、ClassPath に追加し、Tomcat で使用できるようにします。これにより、外部オブジェクトが利用可能となり、ナレッジベースで使用するためにアクセス可能になります。
リポジトリで公開されている外部オブジェクトがある場合、 [ Java Artifact Id ] プロパティと [ Java Artifact Version ] プロパティを設定する必要があります。

ナレッジベースオブジェクトをコンパイルする際、GeneXus は必要な JAR ファイルとその依存関係をダウンロードします。

トラブルシューティング

次の場合、GeneXus でコンパイルできないことがあります:
  • オブジェクトの名前が変更された
  • オブジェクトが削除された
  • オブジェクトがあるモジュールから別のモジュールに移動された
これは、Gradle がモデルの src\main\java フォルダ内にあるすべてのソースのコンパイルを試みるためです。
この問題を解決するには、該当するソースを手動で削除して、Gradle がそのコンパイルを試みないようにする必要があります。


サブページ
Created: 23/04/24 18:12 by Admin Last update: 24/04/10 18:40 by Admin
カテゴリ
Powered by GXwiki 3.0