Interstage Application Server V5(JDK1.3.1)のサーブレット資産を、Interstage Application Server V8以降(JDK1.4.2以降)で動かすと、コンテナログに「定数式が必要です。」のエラーが出力されます。

Interstage Application Serverの技術情報はこちら

Interstage Application Server V5(JDK1.3.1)のサーブレット資産を、Interstage Application Server V8以降(JDK1.4.2以降)で動かすと、コンテナログに以下のエラーが出力されます。原因と対処方法を教えて下さい。
-----------------------------------------------
IJServer15302: Error compiling file:

XXXXXXXXXX_jsp.java
    [javac] Compiling 1 source file
    [javac] XXXXXXXXXX_jsp.java:nnnn: 定数式が必要です。
    [javac]   case aaaaa.BBBBB:
    [javac]                      ^
    [javac] エラー 1 個
-----------------------------------------------
jspファイル(XXXXXXXXXX_jsp.java)で、case文の引数が定数式になっていないためです。定数式である修飾名は、「型名.識別子」の形式でなければならず、たとえフィールドBBBBB自体が定数であっても、式aaaaa.BBBBB(aaaaaは変数かまたはそのほか他の式)は、エラーとなります。
BBBBBがstatic変数であれば、static変数はクラス変数ですので、aaaaaはクラス名である必要があります。これは、JDK1.3で文法チェックが強化されたものです。
Interstage Application Server V5(JDK1.3.1)でエラーにならなかった理由は、サーブレットの使用するコンパイラ(javac)が、JDK1.2.2のjavacと互換を持つ、oldjavacを使用していたためです。oldjavacはJDK1.4以降は未サポートであり、サーブレットの使用するコンパイラもInterstage Application Server V8以降javacに変更されていますので、アプリケーションのソースプログラムを正しい形式に修正してください。
製品・サービス区分 Interstage
製品・サービス情報
対象製品 Interstage Application Server
バージョン V9, V8
プラットフォーム Windows, Solaris, Linux
アンサー種別 構築(導入/移行)
このページの先頭へ