ページの先頭です。
ここから本文です。

製品マニュアル

[WebOTX] IDLコンパイラ woi2j(woi2j.bat) を使用して生成した Java ソースコードに対して javac を実行すると、コンパイルに失敗する

概要

WebOTX Developer にて提供する R4形式(WebOTX V4以前のアプリケーション)のIDLコンパイラwoi2j(woi2j.bat) により CORBA Java アプリケーションのIDLコンパイルを実行すると、生成する Java のソースコードに不要な import文 が付与され、javac によるアプリケーションのコンパイルに失敗します。


影響のある製品またはパッチモジュール

次の製品またはパッチモジュールが該当します。

  • WebOTX Developer (for CORBA Application) パッチモジュール V8.22.01.01
  • WebOTX Developer (for CORBA Application) パッチモジュール V8.31.01.05
  • WebOTX Developer (for CORBA Application) 標準修正 V8.42.03.00
  • WebOTX Developer (for CORBA Application) パッチモジュール V9.21.00.01
  • WebOTX Developer (for CORBA Application) 標準修正 V9.22.01.00
  • WebOTX Developer (for CORBA Application) V9.4

詳細

本事象は、次の全ての条件を満たす場合に発生します。

  • CORBA Java アプリケーションを使用している
  • IDLコンパイラに woi2j(Windowsの場合は woi2j.bat) を使用し、引数に "-R" オプション(指定されたIDLファイル名を参照するオプション)を指定している

これらの条件を満たした場合、IDLコンパイルにより生成するソースコードファイルに不要な import文 が付与されます。

付与される import文 はアプリケーションでは使用しないインタフェースですが、JDK 1.4の規約に沿った宣言(※) になっていないため、javaコンパイラではコンパイルエラーとなり、アプリケーションを作成できません。

(※)JDK 1.4 より、Java コンパイラ (javac) は名前のないネームスペースから型をインポートする import 文を拒否するようになりました。


対処方法

パッチの公開時期は現在検討中です。急ぎでパッチが必要な場合はご連絡ください。


回避方法

<WebOTX Developer V8.2 ~ V9.2をご利用の場合>

「影響のある製品」に記載した詳細バージョン製品をご利用のお客様は、該当パッチモジュールまたは標準修正適用前のwoi2j(woi2j.bat)をご利用ください。

手順は次の通りです。

  1. バックアップファイルの確認
  2. パッチモジュール、または標準修正適用時にバックアップしたファイルがあるか確認します。<バックアップディレクトリ>/dev/bin/woi2j(woi2j.bat)
  3. インストールディレクトリへのコピー
  4. WebOTX Developer のインストールディレクトリ <WebOTXインストールディレクトリ>/dev/bin に1.で確認したファイルを上書きコピーします。

<WebOTX Developer V9.4をご利用の場合>

WebOTXをバージョンアップしたお客様で、以前のバージョンのIDLコンパイルにより生成したソースコードファイルがある場合は、WebOTX Developer V9.4 で woi2j(woi2j.bat) によるIDLコンパイルは行わず、生成済みのソースコードファイルをそのまま使用してください。

生成済みのソースコードが無い場合は、次のいずれかの方法でIDLコンパイルを実行してください。

  • ファクトリオブジェクトに関する定義や実装をユーザが生成し、IDLコンパイラのi2j(i2j.exe) を実行する
  • V9.4のwoi2j(woi2j.bat) を使ってjavaソースコードを生成した後、手動で不要なimport文を削除する。この際の削除対象のソースコードファイル名、ならびに各ファイル内の import文は以下のとおりです

  •  [生成されるソースコードファイル名]
    • Interface 名.java,WO_Factory_Interface 名.java
    • Interface 名Operations.java,WO_Factory_Interface 名Operations.java
    • Interface 名Holder.java,WO_Factory_Interface 名Holder.java
    • Interface 名Helper.java,WO_Factory_Interface 名Helper.java
    • Interface 名[Local]Stub.java,_WO_Factory_Interface 名[Local]Stub.java
    • Interface 名POA.java,WO_Factory_Interface 名POA.java

     [付与される不要な import文]
    • import WO_Base;
    • import WO_BaseHelper;
    • import WO_BaseHolder;
    • import WO_BaseOperations;
    • import WO_BaseFactory;
    • import WO_BaseFactoryHelper;
    • import WO_BaseFactoryHolder;
    • import WO_BaseFactoryOperations;


更新履歴

  • 2017/02/17 初版

製品名カテゴリ

WebOTX
WebOTX Application Server

  • コンテンツID: 3170102019
  • 公開日: 2018年10月15日
  • 最終更新日:2018年10月15日
ここからページ共通メニューです。 ページ共通メニューを読み飛ばす。
ページ共通メニューここまで。