13

今日、GAE 1.7.2.1 に更新して以来、すべての jdoconfig.xml ファイルで Eclipse の検証エラーが発生しています。

デフォルトの jdoconfig.xml コンテンツがあります。

[...]
<jdoconfig xmlns="http://java.sun.com/xml/ns/jdo/jdoconfig"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:noNamespaceSchemaLocation="http://java.sun.com/xml/ns/jdo/jdoconfig">
[...]

そしてEclipseの検証はスローします:

Referenced file contains errors (http://java.sun.com/xml/ns/jdo/jdoconfig).  
For more information, right click on the message in the Problems View and 
select "Show Details..."

詳細をクリックすると、次のような一連の行が表示されます。

s4s-elt-character: Non-whitespace characters are not allowed in schema elements
other than 'xs:appinfo' and 'xs:documentation'. Saw 'var_U = "undefined";'.

「Saw ...」の別の行と別の内容で

Googleプラグインの「新しいWebアプリケーションプロジェクト...」を使用して開始するすべてのプロジェクトで発生します。

それで、誰かがこの問題を抱えていますか?修正はありますか?

4

8 に答える 8

28

これを試して:

<jdoconfig xmlns="http://java.sun.com/xml/ns/jdo/jdoconfig"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/jdo/jdoconfig http://java.sun.com/xml/ns/jdo/jdoconfig_3_0.xsd">

ここの回答によると、間違ったURLでjdoconfigを検証しています

xmlns は実際のファイル/ディレクトリではなく、名前空間であるため、存在すべきではありません! 実際の XSD ファイル、つまりhttp://java.sun.com/xml/ns/jdo/jdoconfig_3_0.xsdを取得するために、バージョンが追加されます。

于 2012-10-02T21:19:06.687 に答える
6

ここにはいくつかの問題があります。

構文上の問題は、値として指定した URI がhttp://www.oracle.com/technetwork/java/index.htmlxsi:noNamespaceSchemaLocationにリダイレクトされ、HTML ドキュメントを返すことです。使用している XSD バリデーターは、解析に成功せずに試行しています

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" 
          content="text/html; charset=utf-8" />
    <script type="text/javascript">
      var _U = "undefined";
      var g_HttpRelativeWebRoot = "/ocom/";
      var SSContributor = false;
...

XSDスキーマドキュメントとして、そして何らかの理由で、何がうまくいかなかったのかを説明する試みは、var_U = "undefined"文字データが表示されるとは予想されていなかった場所で文字列を見つけることに焦点を当てています.

次に、いくつかの概念上の問題があります。

  • ドキュメントは という名前の名前空間にありますhttp://java.sun.com/xml/ns/jdo/jdoconfig。ドキュメントを検証したいのに、一体なぜ、スキーマバリデーターをターゲット名前空間のないスキーマに向けているのnoNamespaceSchemaLocationですか? ドキュメントの要素 (少なくとも一部) が名前空間で修飾されている場合、(joncalhoun が既に示唆しているように)ペアxsi:schemaLocationを使用して提供し、バリデーターに知りたい各名前空間のスキーマドキュメントを見つけることができる場所を伝える必要があります。約。

  • スキーマ ドキュメントが location から提供されていた可能性はありますhttp://java.sun.com/xml/ns/jdo/jdoconfigが、語彙にちなんで名付けられた標準の名前空間であるように見えるため、実際にはそうである可能性はあまり高くありません。ほとんどのシステムは、抽象的で定義が不十分な名前空間と、通常は特定の名前空間の特定の XSD スキーマ コンポーネントを定義する XML ドキュメントであるスキーマ ドキュメントとをかなり確実に区別します。スキーマ ドキュメントの URI を名前空間の名前として使用することは違法ではありませんが、珍しいことです。

joncalhoun によって指定されたスキーマ ドキュメント ( http://java.sun.com/xml/ns/jdo/jdoconfig_3_0.xsd) の URL は、実際には ( へのリダイレクト後に) スキーマ ドキュメントに解決され、ターゲット名前空間としてhttp://www.oracle.com/webfolder/technetwork/jsc/xml/ns/jdo/jdoconfig_3_0.xsd指定されていることに注意してください。http://java.sun.com/xml/ns/jdo/jdoconfig(これは、URI を の値として指定してこのスキーマ ドキュメントの取得に成功したとしても、xsi:noNamespaceSchemaLocation名前空間のない要素と属性のスキーマ ドキュメントではないため、エラーが発生することを意味します。)

これにより、joncalhounの回答をもう一度読んで、慎重に再試行する必要があると思います。試してみてうまくいかなかった場合、私のお金は、あなたが似たようなことを試みたが、彼が提案したものと正確には一致しなかったか、またはこの問題を解決したが、失敗と間違えやすい他の問題を明らかにしたと言っています。

于 2012-10-16T16:18:53.180 に答える
4

解決策の 1 つは、Eclipse 設定で XML カタログを設定することです。

詳細:
エントリ要素: URI
場所: http://java.sun.com/xml/ns/jdo/jdoconfig_3_0.xsd
URI: http://java.sun.com/xml/ns/jdo/jdoconfig_3_0.xsd
キー タイプ: 名前空間名
キー: http://java.sun.com/xml/ns/jdo/jdoconfig

于 2012-12-04T17:01:01.250 に答える
0

私は同じ問題を抱えていて、この jdoconfig.xml ファイルだけを Eclipse の検証から除外しました。Eclipse がエラーをスローしても、プロジェクトを GAE に正しくデプロイできることにはまったく影響しません。

この厄介なエラーを取り除くために jdoconfig.xml ファイルだけを除外する方法を次に示します。

を右クリックEclipse Project, ->Properties->Validation->XML Validatorし、「...」ボタンをクリックしてさらにオプションを表示します。

[グループを含める] オプションと [グループを除外する] オプションが表示されます。[除外グループ] -> [ルールの追加...] -> [フォルダーまたはファイル名] をクリックし、ファイルを参照します。

プロジェクトをクリーンアップまたは再構築します。検証エラーはなくなるはずです。

これはEclipse Lunaでうまくいきました。

于 2015-04-02T22:30:30.727 に答える
0

私はこれで成功しています:

Right Click Project -> Properties -> Validation -> XML Syntax
  1. プロジェクト固有の設定を有効にする (必要な場合)
  2. [検証中のファイル] で、文法が指定されていない場合は [警告] を選択します。
  3. 「OK」をクリック
  4. ファイルの検証を求められたら、[はい] をクリックします。

に移動すると、すべてのプロジェクトに対して同じことができますWindows -> Preferences

ファイルを検証していることを確認します (ステップ 4)。

于 2015-04-07T10:14:01.420 に答える
0

これを修正するために私がしたことは次のとおりです。

<?xml version="1.0" encoding="utf-8"?>
<jdoconfig xmlns="http://java.sun.com/xml/ns/jdo/jdoconfig"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:noNamespaceSchemaLocation="http://java.sun.com/xml/ns/jdo/jdoconfig_3_0.xsd">
于 2015-01-10T16:42:41.647 に答える