※当サイトはアフィリエイト広告を利用しています

JSPエラー:Cannot switch on a value of type String for source level below 1.7. Only convertible int values or enum variables are permitted

2022年4月13日IT

Strutsのソースを動かしていたらJSPでエラーが発生しました。
「Cannot switch on a value of type String for source level below 1.7. Only convertible int values or enum variables are permitted」
お客様環境では上記のエラーは発生しておらず、
あくまで僕の環境でのみ発生していました。
解決策を備忘録として残しておきます。

原因

JSPのコンパイルバージョンが原因でした。
スクリプトレット内でswich文を使うにはJava1.7以上必要だそうです。
tomcatのweb.xmlを見た所、
Tomcat7はJava1.6がデフォルトになっています。
Tomcat8はJava1.7がデフォルトっぽい。

解決策

Tomcatホーム/conf/Web.xmlを編集します。

デフォルトだと明示的に設定されていない
compilerSourceVMcompilerTargetVMを追記します。
下記のように追記してあげればOKです。

2022年4月13日IT

Posted by raishin