legacy-knowledge-base
公開されました Jul. 2, 2025

「サービス モジュール ローダーからクラスを定義できませんでした」エラーを解決する方法

written-by

Caleb Bartles

How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!

While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.

legacy-article

learn-legacy-article-disclaimer-text

問題

  • JBoss にバンドルされている Liferay ポータルに security-hotfix-lsv-45 をインストールすると、Liferay ログに「クラスの定義に失敗しました」というエラーが生成されます。
    • Failed to define class com.liferay.portal.security.xml.SecureXMLFactoryProviderImpl in Module "deployment.ROOT.war:main" from Service Module Loader: java.lang.LinkageError: Failed to link com/liferay/portal/security/xml/SecureXMLFactoryProviderImpl (Module "deployment.ROOT.war:main" from Service Module Loader).
  • このエラーは、ここで概説されている正しいポータル プロパティ構成で持続します: security-hotfix-lsv-45

Environment

  • ポータル 6.1
  • ポータル 6.2

解決策

  • この問題は、既存のインデックスが原因で、JBoss が SecureXMLFactoryProviderUtil.class および SecureXMLFactoryProvider.class を見つける場所を認識していないことに起因します。 これら 2 つのファイルは、portal-impl.jar から SecureXMLFactoryProviderImpl をインスタンス化するときに必要です。
  • このエラーを修正するには:
      1. Liferay ポータルをシャットダウンします。
      2. ここにある portal-service.jar.index を削除します: <LIFERAY_HOME>/<Jboss>/modules/com/liferay/portal/main/portal-service.jar.index
      3. Liferay ポータルを再起動します。

追加情報

did-this-article-resolve-your-issue

legacy-knowledge-base