指定されたアプリケーション コンテキスト ファイルを使用して Spring mvc ポートレットを作成しました。
<?xml version="1.0"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="contentType" value="text/html;charset=UTF-8" />
<property name="prefix" value="/WEB-INF/" />
<property name="suffix" value=".jsp" />
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
</bean>
</beans>
ポートレットのデプロイ時に、次のエラー メッセージがスローされます。
原因: org.xml.sax.SAXParseException; 行番号: 6; 列番号: 64; cvc-elt.1: 要素「beans」の宣言が見つかりません。com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203) で com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134) でcom.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:396) で com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327) でcom.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:284) で
原因: org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: PortletContext リソース [/WEB-INF/spring/portletpreferences-portlet.xml] からの XML ドキュメントの 6 行目が無効です。ネストされた例外は org.xml.sax.SAXParseException です。行番号: 6; 列番号: 64; cvc-elt.1: 要素「beans」の宣言が見つかりません。
それぞれの Spring jar は、以下に示すように、依存関係としてプロジェクトで利用できます。
入手可能な同様の質問をすべてこの問題に言及し、次のことを試しました。
- doctype タグの追加
- xsd バージョンの削除
- ビーンズタグで空の要素を使用する
コンテキスト xml ファイルの xml にまだ依存関係やエラーがありませんか。
更新:Spring Bean と Spring コンテキスト jar の両方を同じバージョンに更新し、xsd 定義を使用して xml ファイルを正常に検証しましたが、デプロイ後に同じエラーが引き続き発生します。