開発マシンのStrutsアプリケーションでエラーが発生し、構成ファイルにエラーがあるようです(すでに確認していて問題ないようです)。
org.Apache.commons.digester.Digester error
SEVERE: Parse Error at line 3 column 15: Document is invalid: no grammar found.
org.xml.sax.SAXParseException: Document is invalid: no grammar found.
org.Apache.commons.digester.Digester error
SEVERE: Parse Error at line 3 column 15: Document root element "struts-config", must match DOCTYPE root "null".
org.xml.sax.SAXParseException: Document root element "struts-config", must match DOCTYPE root "null".
どうやら、開発マシンでは、アプリケーションはなんとか実行できます。ただし、デプロイサーバーで次のエラーが発生します。これらのエラーが関連しているかどうかはわかりません。
org.Apache.struts.action.ActionServlet handleConfigException
SEVERE: Parsing error processing resource path /WEB-INF/struts-config.xml Java.net.ConnectException: Connection refused at Java.net.PlainSocketImpl.socketConnect(Native Method) at Java.net.PlainSocketImpl.doConnect(PlainSocketImpl.Java:351) at Java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.Java:213)
私のstruts-config.xmlファイル: http://Pastebin.com/i0XanZZt 私のweb.xmlファイル: http://Pastebin.com/jMPAdSUm
ここで何が間違っている可能性がありますか?いくつかのライブラリがありませんか?間違ったlibバージョン(最新のStruts 1リリースを使用)?
前もって感謝します!
非常によく似た何かの闘争を経験しただけです。 org.xml.sax.SAXParseExceptionも受信していました:ドキュメントが無効です:文法が見つかりません。元の開発者は、ダイジェスターのsetValidation(true)を持っていて、スキーマを使用して検証しようとしていました。検証がtrueに設定されている場合、XMLのDOCTYPE宣言にDTDが必要です。したがって、1つが見つからない場合、例外が発生します。
解決策:スキーマを使用して検証する場合、ダイジェスターで検証をtrueに設定しないでください。
以下は、ダイジェスターが使用するスキーマを定義するダイジェスターのセットアップ方法を示す適切なリンクです。もちろん、スキーマがxmlで定義されている場合は、ダイジェスターのスキーマを定義する必要はなく、検証は自動的に行われます。
お役に立てれば...
struts.xml
を確認し、以下を修正してプログラムを実行してください。
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.Apache.org/dtds/struts-2.3.dtd">
JPOS
を実行している場合は、これらの2行をxml
ファイルに追加します
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE isopackager SYSTEM "genericpackager.dtd">
SAXを使用してXSD検証を実行しようとしてこれを取得しました:
Caused by: org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 30; Document is invalid: no grammar found.
at org.Apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
修正はこれを追加するようでした:
saxParser.setProperty(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA);
参照: https://docs.Oracle.com/javase/tutorial/jaxp/sax/validation.html