一般的な問題に関する注意事項

以下では、バージョン 8.1 からのアップグレード後に発生するおそれのある問題について説明しますが、これらの問題は特定のコンポーネント タイプや技術に関連付けられたものではありません。特定の技術に関連付けられたアップグレード関連の問題については、「関連トピック」に表示されているトピックを参照してください。

アップグレードにはバージョン 8.1 の .workshop ディレクトリが必要となる

バージョン 8.1 アプリケーションのアップグレードは、.workshop ディレクトリがアップグレード時にアプリケーション内に存在しない場合、失敗する場合があります。特に、weblogic-application.xml ファイルのアップグレードは、このファイルが .workshop ディレクトリ内のビルド アーティファクトを参照しているが、そのディレクトリが存在しない場合に、失敗する場合があります。

アップグレードを確実に成功させるため、アップグレードの前にバージョン 8.1 のアプリケーションをビルドしておいてください。

サードパーティのライブラリ JAR に依存するバージョン 8.1 のアプリケーションはバージョン 10.x のコンパイル エラーになる場合がある

通常は、プリコンパイルされたライブラリをバージョン 10.x の環境で使用するために再コンパイルする必要がある場合には、警告メッセージが発生します。ただし、ライブラリを再コンパイルする必要がある場合でもメッセージが発生しないことがあります。プロジェクトでこの原因以外に説明できないコンパイル エラーが発生した場合には、これらのライブラリを再コンパイルすることを検討してください。

アプリケーション ライブラリ JAR ファイルのマニフェストで行の長さが 72 バイトを超えている場合、ビルド エラーが引き起こされる

バージョン 8.1 とは異なり、バージョン 10.x では、JAR がアプリケーション ライブラリとして使用されている場合、JAR ファイルのマニフェストでは行の長さが制限されています。制限を超えている行のある JAR がアップグレードされたアプリケーションに含まれていると、ビルド時にエラーが発生します。この変更に対応するには、行のサイズを小さくするか、または JAR からマニフェストを削除します。

weblogic.jar の内部 API を使用するアップグレードされたコードはバージョン 10.x では使用できない

内部 API の使用はサポートされておらず、バージョン 10.x のクラスパスには weblogic.jar は含まれません (含むことができません)。weblogic.jar 内にあったパブリック API は wls-api.jar に移動されました。クラスパスに weblogic.jar がないことによるコードの破綻を回避するには、パブリック API を使用するようにコードを書き換えます。

サードパーティの API を使用するコードも、バージョン 10.x へのアップグレードではサポートされていません。

アップグレードされたコードは Java 5 および JSP 2.0 の言語機能と衝突するおそれがある

Java 5 の新しい言語機能と (NetUI タグ ライブラリによって使用される) JSP 2.0 式言語により、場合によってはアップグレードされたコードの一部に変更が必要になることがあります。

たとえば、バージョン 8.1 において予約語ではなかった語が、新機能のために新たに予約語として扱われるようになりました。Workshop のアップグレード ツールではこれらの語の使用はアップグレードされません。そのため、それらの語を使用するコードは新しい言語機能に対応するように書き換えられるまでコンパイルされません。

特に Java 5 には enum キーワードが追加されています。詳細については、Sun の Web サイトにある「Enums」を参照してください。

JSP 2.0 の予約語は、「予約語は識別子として使用できない」に記載されています。

また、Java API に多くの変更が加えられていることで、アップグレードされたコードに問題を生じる場合もあります。Java 言語に総称型が導入されたため、Object パラメータを取るメソッド シグネチャは、Java 1.4 においては従来よりも強く型付けされるようになりました。そのため、バージョン 8.1 では実行時にならないと検出できなかった多くのエラーを、Workshop バージョン 10.x ではコンパイル時に検出できます。たとえば、以下のようなコードがあるとします。

String s;
Thing t;
s.compareTo(t);
    

バージョン 8.1 では、このコードに対してコンパイル エラーは発生せず、実行時に ClassCastException が発生します。バージョン 10.x では、この compareTo(t) がコンパイル エラーとなります。なぜなら、 8.1 における String.compareTo() は単に Object パラメータを取りましたが、 10.x では実際に String パラメータが要求されるようになったからです。

原則としては、コードのデバッグが済んでいればこの種のエラーは含まれていないと考えられますが、アップグレード後のコンパイルで実際にエラーが発生した場合、プロジェクトのビルドを正常に完了するにはコードを修正する必要があります。

アップグレードされたワイルドカード インポート文では一部の型がインポートされないままになる場合がある

アップグレード プロセス中には Workshop アップグレード ツールによって、キー ライブラリの移動をサポートするためにパッケージのインポート文が更新されます。ただし、これによってバージョン 8.1 のパッケージのクラス (クラスはまだそのパッケージにある) を使用するコードが破綻するおそれがあります。たとえば、アップグレード ツールによって次の変更が行われるとします。

import com.bea.wlw.netui.util.*;

上記は、次のように変更されます。

import org.apache.beehive.netui.util.*

この場合、com.bea.wlw.netui.util.TemplateHelper はまだ旧バージョンのパッケージにあるのでインポートされないままになります。Workshop のクイック フィックス機能を使用して必要なパッケージをインポートすることによって、簡単にコードを修正できます。さらに徹底した修正を行うには、アップグレードを行う前にワイルドカードを削除し、バージョン 8.1 のコードにクラスを明示的にインポートします。

バージョン 8.1 の PointBase API はアップグレードされたコードではサポートされない

バージョン 8.1 には PointBase データベースに付属する API が含まれています。これらの API はバージョン 10.x ではサポートされていません。

バージョン 8.1 では有効だった XML スキーマがバージョン 10.x では無効になる場合がある

バージョン 8.1 の IDE では標準に準拠していないスキーマを使用できましたが、バージョン 10.x の IDE では使用できなくなっています。そのため、アップグレード時に無効なスキーマによってエラーが生成されます。ただし、エラーは IDE に表示されますが、実行時の動作には影響しないはずです。

無効な状態のスキーマを引き続き使用する場合でも IDE にエラーが表示されないようにするには、スキーマ検証を無効にします。検証を無効にすると、検証が必要であってもすべてのスキーマに対する検証が無効になります。スキーマ検証を無効にするには、次の手順に従います。

  1. [ウィンドウ|設定] をクリックします。
  2. [設定] ダイアログの左ペインで、[検証] をクリックします。
  3. 右ペインの [検証] で、[XML スキーマ・バリデーター] チェック ボックスのチェックをはずします。
  4. [OK] をクリックします。

WebLogic Workshop バージョン 8.1 ドメインのアップグレードはバージョン 10.x 内で実行できる

IDE 内で使用するためのサーバ定義の作成」で説明されているとおりに新しいサーバを作成すると、WebLogic Workshop バージョン 8.1 のドメインをアップグレードできます。

  1. Workshop で、[ファイル|新規|サーバー] を選択します。
  2. [新規サーバー] ダイアログ ボックス内で、[サーバーのタイプを選択] から、作成する WebLogic サーバの種類を選択します。たとえば、[BEA WebLogic Server v10.0] を選択します。
  3. 必要に応じてその他の項目を設定し、[次へ] をクリックします。
  4. [ドメイン ホーム] ボックスで、アップグレードする WebLogic Workshop ドメインを入力または参照して指定します。
  5. [ドメイン ホーム] に指定したドメインへのパスに基づいて、ダイアログ ボックスに以下のリンクが表示されます。

    古いバージョンのドメインが検出されました。アップグレード ウィザードを使用してドメインをアップグレードするには、ここをクリックしてください。

  6. この「古いバージョン」リンクをクリックして、BEA WebLogic アップグレード ウィザードを起動します。
  7. WebLogic ドメインをアップグレードする手順」で説明されているとおり、ドメイン アップグレード ウィザードの手順に従って作業を進めます。

バージョン 8.1 プロジェクトからコピーした CLASS ファイルによって、アップグレード後にエラーが発生する場合がある

バージョン 8.1 からのアップグレード中に、バージョン 8.1 の PROJECT_ROOT/WEB-INF/classes ディレクトリ (プロジェクト内に存在しないアーティファクトからの CLASS ファイル用) にある CLASS ファイルは、バージョン 10.x の PROJECT_ROOT/WebContent/WEB_INF/classes ディレクトリ (プロジェクト アーティファクトのビルド出力用のデフォルトの場所) にコピーされます。 8.1 プロジェクトで、デフォルトのビルド出力の場所が (Ant スクリプトなどを使用することによって) 使用されずに、プロジェクト アーティファクトの CLASS ファイルが PROJECT_ROOT/WEB-INF/classes に配置される場合、バージョン 10.x の出力ディレクトリに CLASS ファイルが重複するエラーが発生する場合があります。

この状況を修正するには、アップグレード後に PROJECT_ROOT/WebContent/WEB_INF/classes ディレクトリの中身を削除し、プロジェクトを再ビルドします。

関連トピック

Web サービスのアップグレード

ページ フローのアップグレード

コントロールのアップグレード

アノテーションのアップグレード

エンタープライズ JavaBean のアップグレード


さらにヘルプが必要ですか。質問は Workshop ニュース グループまでお寄せください。