PortletMVC4SpringとJakartaへの移行
考えられる移住方法は2つあります。
-
あなたは既にPortletMVC4Springを使用しており、アプリケーションをJakartaに移行したいと考えています。
-
Spring Portlet MVC ポートレットを Spring Framework 5.0 以降を使用するように移行したい場合、PortletMVC4Spring が必要になります。
どちらの移行も簡単ですが、最初の移行の方が簡単です。
PortletMVC4SpringをJava EEからJakartaに移行する
Liferay 2025.Q3以降では、Java EEの代わりにJakartaが使用されます。 Jakarta ベースの Liferay にアップグレードする場合は、すべての javax.portlet 参照を jakarta.portlet に更新する必要があります。 これで完了です。 ただし、これらは様々な場所に潜んでいる可能性があるため、注意が必要です。
- インポートステートメント
- ポートレットアクションの命名規則(例:
javax.portlet.actionはjakarta.portlet.actionに変更する必要があります) web.xml、具体的にはスキーマ宣言Language.properties、具体的にはポートレットのプロパティ
これらの参照をすべて更新すると、PortletMVC4Springアプリケーションは変更を加えることなく、そのまま動作します。
Spring Portlet MVCからPortletMVC4Springへの移行
Spring Framework バージョン 5.0 以降を使用するポートレットの開発を継続するには、Spring Portlet MVC から PortletMVC4Spring に移行してください。 手順は次のとおりです。
-
build.gradle記述子で、spring-webmvc-portletアーティファクトへの依存関係をcom.liferay.portletmvc4spring.frameworkアーティファクトに置き換えることにより、Spring Framework バージョン 6 アーティファクトを使用します。compile group: 'com.liferay.portletmvc4spring', name: 'com.liferay.portletmvc4spring.framework', version: '5.3.2' compile group: 'com.liferay.portletmvc4spring', name: 'com.liferay.portletmvc4spring.security', version: '5.3.2' -
WEB-INF/portlet.xml記述子で、org.springframework.web.portlet.DispatcherPortletの使用箇所をcom.liferay.portletmvc4spring.DispatcherPortletに置き換えます。 -
Spring Portlet MVC
AnnotationMethodHandlerAdapterクラスの使用箇所を PortletMVC4SpringPortletRequestMappingHandlerAdapterクラスに置き換えます。PortletRequestMappingHandlerAdapterは、HandlerMethodインフラストラクチャを使用します。このインフラストラクチャは、 Spring Web MVC 5.1.x の基盤となっています。 -
Spring 構成記述子で
AnnotationMethodHandlerAdapterを<bean>として指定した場合は、完全修飾クラス名org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapterをcom.liferay.portletmvc4spring.mvc.method.annotation.PortletRequestMappingHandlerAdapter に置き換えてください。.また、以下のビーンプロパティの変更にも対応してください。
-
customModelAndViewResolver(利用不可) -
customArgumentResolver(利用不可) -
customArgumentResolvers( の一覧を指定しますHandlerMethodArgumentResolverの一覧の代わりにWebArgumentResolverのリストの代わりに、xml-ph-0000@deepl.internalHandlerMethodArgumentResolverのリストを指定します)
-
-
Apache Commons Fileupload、 を使用している場合は、Spring の設定記述子を更新してください。
-
このレガシーBeanを置き換えてください。
<bean id="portletMultipartResolver" class="org.springframework.web.portlet.multipart.CommonsPortletMultipartResolver" />PortletMVC4Springのこの新しい機能を使えば:
<bean id="portletMultipartResolver" class="com.liferay.portletmvc4spring.multipart.CommonsPortletMultipartResolver" />注または、PortletMVC4Spring が提供するネイティブの Portlet 3.0 ファイルアップロード サポートを使用するには、
portletMultipartResolver<bean>要素のクラスをcom.liferay.portletmvc4spring.multipart.StandardPortletMultipartResolverに設定します。 -
pom.xmlまたはbuild.gradle記述子から、以下の依存関係を削除してください:<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> </dependency>
-
-
プロジェクト全体を通して、
org.springframework.web.portletパッケージ パスの使用箇所すべてをcom.liferay.portletmvc4springに置き換えてください。 -
PortletMVC4Springを使用してポートレットの開発を続けてください。
-
プロジェクトを構築してデプロイします。
これで、 プロジェクトをSpring Portlet MVCからPortletMVC4Springに移行しました。