最近のアクセス:
Java クラスのインポートウィザード

Java クラスのインポートウィザードでは、外部クラスを使用するのに必要なデータタイプを、Java クラスの対応するセットを含む .jar または .zip を選択するだけで作成できます。
ネイティブ オブジェクト タイプの 外部オブジェクト (EO) は自動的に作成されます。' target='_blank'>5669' target='_blank'> 外部オブジェクト (EO) は自動的に作成されます。
自動的にインポートすることができるクラスは、Plain Old Java Object (POJO)です。
Java クラスのインポートウィザードで外部クラスを含める方法は 2 つあります。 
1 つは、 [ パッケージファイル ] オプションを使用する方法で、jar 全体を入力します (この場合、すべてのクラスの依存関係が確認されるため、クラスが見つからないと、クラスパスにクラスが追加されるまで、jar が正常にインポートされないことを示すエラーが表示されることがあります)。将来的にこれらのクラスを必要としなくなる可能性があるという点で、通常、このオプションは選択しません。
もう 1 つのオプションとして、関係のある特定のクラスをインポートする方法があります ( [ クラス名 ] オプション)。
どちらの場合でも、インポートするクラス (またはパッケージ) を [ Classpath ] プロパティで指定しておく必要があります。 

外部 jar ファイルまたは zip ファイルをインポートする方法

手順 1:

GeneXus で、 [ ツール ] -> [ アプリケーションの統合 ] -> [ Java クラスインポート ] を実行します。
この例では、 [ パッケージファイル ] オプションを選択しています (jar ファイルがインポートされます)。
イメージ:6173.png

手順 2: 

外部オブジェクトの接頭語 (オプション) および外部オブジェクトのナレッジベースフォルダ (オプション) を指定します。
イメージ:6174.png

手順 3:

インポートするクラスを選択します。
イメージ:6175.png
[ タグ関連クラス ] チェックボックスをオンにすると、選択したクラスに関連するすべてのクラスがインポートされます。
選択した各クラスに外部オブジェクトが作成されます。外部オブジェクトの名前は、入力した接頭語およびクラスの名前で構成されます。

クラスファイルからインポートする方法

手順 1:

GeneXus で、 [ ツール ] -> [ アプリケーションの統合 ] -> [ Java クラスインポート ] を実行します。
この例では、 [ クラス名 ] オプションを選択しています。クラス名 (拡張子なし) とともに Java パッケージを指定する必要があります。
イメージ:27714.png
クラスファイルをインポートするには、このクラスの Java パッケージについて考慮してください。この例では、外部 .class の Java パッケージは次のようになります。
イメージ:27712.png
通常どおり、[ Classpath ] プロパティに対応するパスを追加する必要があります。
インポートするクラスが jar ファイルまたは zip ファイルに含まれている場合は、GeneXus でこのファイルをクラスパスに追加する必要があります。それ以外の場合は、jar にパッケージ化されないクラスの場所について検討し、 [ ディレクトリーを追加 ] ボタンを使用して [ Classpath ] プロパティにその場所を追加する必要があります。

パッケージが次のフォルダにあるとします。
イメージ:27718.png
この場合、Java クラスパスプロパティを次のように設定して、パッケージを配置するフォルダを追加する必要があります。
イメージ:27716.png

手順 2:

外部オブジェクトの接頭語 (オプション) および外部オブジェクトのナレッジベースフォルダ (オプション) を指定します。
イメージ:6174.png

手順 3:

インポートするクラスを選択します。この手順は前述の例と同じです。

検討事項

AnyObject 外部オブジェクトタイプ

クラスをインポートするときに、AnyObject タイプを使用して、パラメーターの一部を残すことができます。
これは、一部のクラスが含まれていないために発生します。これらのメソッドが必要かどうかを確認し、不要な場合は AnyObject タイプを残します。
これらのメソッドが必要な場合は、次の 2 つのオプションがあります:
1.対応するソースを開き (たとえば、DJ Decompiler やその他の同様のツールで逆コンパイルする)、そのメソッドで参照されているクラスを確認します。このクラスをインポートする必要があります。必要なメソッドが外部オブジェクトで正しく定義されるまで再帰的に実行します。
 
2.もう 1 つのオプションとして、必要なメソッドで、関係のあるクラスのラッパーを作成する方法があります。この場合、ラッパーのクラスをインポートする必要があります。
ネイティブ オブジェクト タイプの外部オブジェクトについて詳しくは、「外部オブジェクト: ネイティブオブジェクト」を参照してください。外部オブジェクト: ネイティブオブジェクト

[ Java Package Name ] の使用方法

[ Java package name ] プロパティを使用する場合は、Java クラスのインポートウィザードで使用するすべての外部クラスにパッケージ名が指定されていることを確認してください。指定されていない場合は、コンパイルエラーが発生します。
com\packagename\SdtSampleExternalObject.java error: cannot access PropertyID
   public PropertyID getExternalInstance( )
          ^
  bad class file: .\com\packagename\PropertyID.class
    class file contains wrong class: PropertyID
    Please remove or make sure it appears in the correct subdirectory of the classpath.

failed ( error code=1)









サブページ
Created: 14/09/18 03:18 by Admin Last update: 21/05/20 06:19 by Admin
カテゴリ
Powered by GXwiki 3.0