(2024年8月記載)
手短にポイントと参考URLを。
ここの記載はstackoverflowにあった質疑を元に書いています。
ポイント1:Struts2 6.6.0はJavaEEを使うため
この文章を書いている時点でダウンロードできる最新版であるStruts2 6.6.0もJavaEEを使う。
struts-6.6.0-allを展開し、その中のapps/struts2-rest-showcase-6.6.0.warを展開するのが話は早い。WEB-INF/web.xmlに書かれている呪文はjavaeeのもの。
詳しくはバージョンノートをご確認下さい。
Struts2 6.6.0はServlet API 3.1が必要となっていて、これがJavaEE7に対応しているようです。
ポイント2:TOMCAT10はJakartaEEに対応しているため
TOMCAT10からはJakarta EEになりました。classファイル中のネームスペースの差異を解消するためマイグレーションツールを出すくらいなら、もう少しなんとかしてほしかった。
結論:Struts2 6.6.0はTOMCAT9でご使用下さい。
Struts2 7.xはJakartaEEに対応するらしいですが、現時点では有志による確認中?の模様。
現時点では6.x.0はTOMCAT9で動かすしかなさそうです。