さて、これが私が達成しようとしていることの不足です。特定のオブジェクトを指定してXMLを生成する小さなGoogleAppEngineアプリケーションを開発しています。
ここで、Relax NGスキーマを使用して、Documentオブジェクトに対して検証する必要があるため、問題が発生します。これはローカルマシン(Eclipse Helios Java EE、Mac OS X Snow Leopard、Google Web Toolkit 2.2.0、App Engine 1.4.2)では正常に機能しますが、App Engineにデプロイするとすぐにコードが失敗し、IllegalArgumentExceptionがスローされます。
具体的な例外は次のとおりです。
java.lang.IllegalArgumentException: No SchemaFactory that implements the schema language specified by: http://relaxng.org/ns/structure/1.0 could be loaded
不平を言っているコードの特定の行は次のとおりです。
System.setProperty(SchemaFactory.class.getName() + ":" + XMLConstants.RELAXNG_NS_URI, "com.thaiopensource.relaxng.jaxp.CompactSyntaxSchemaFactory");
SchemaFactory schemaFac = SchemaFactory.newInstance(XMLConstants.RELAXNG_NS_URI);
最後の行は、例外をスローする行です。
オンラインで調べて、いくつかのGoogleグループに投稿してみましたが、誰もアイデアを思いつきませんでした。
注:この例から上記のコードの一部を使用しました:RELAX NGスキーマとJAXPを使用してXMLドキュメントを検証する方法は?
私の疑いは、AppEngineが何らかの理由でJing.jarをロードしていないことです。どうすれば確認できるのかわかりません。
どんな助けでもいただければ幸いです!ありがとう!