STSのUrlrewriteの春のROの問題(Eclipse)
-
27-09-2019 - |
質問
この問題を解決する方法を理解するのに苦労しています。 Roo Shellで「コントローラー」コマンドを実行した後、Spring Rooによって自動的に生成された「urlrewrite.xml」というファイルがあります。
ただし、まだ次のエラーが発生します。
"Referenced file contains errors (http://tuckey.org/res/dtds/urlrewrite3.0.dtd). For more information, right click on the message in the Problems View and select "Show Details..."
これがurlrewrite.xmlファイルのコンテンツです:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.0//EN" "http://tuckey.org/res/dtds/urlrewrite3.0.dtd">
<urlrewrite default-match-type="wildcard">
<rule>
<from>/resources/**</from>
<to last="true">/resources/$1</to>
</rule>
<rule>
<from>/static/WEB-INF/**</from>
<set type="status">403</set>
<to last="true">/static/WEB-INF/$1</to>
</rule>
<rule>
<from>/static/**</from>
<to last="true">/$1</to>
</rule>
<rule>
<from>/</from>
<to last="true">/app/index</to>
</rule>
<rule>
<from>/app/**</from>
<to last="true">/app/$1</to>
</rule>
<rule>
<from>/**</from>
<to>/app/$1</to>
</rule>
<outbound-rule>
<from>/app/**</from>
<to>/$1</to>
</outbound-rule>
</urlrewrite>
このエラーを取り除く方法についての考えはありますか?
解決
3.0を3.2に変更するだけです
<!DOCTYPE urlrewrite
PUBLIC "-//tuckey.org//DTD UrlRewrite 3.2//EN"
"http://tuckey.org/res/dtds/urlrewrite3.2.dtd">
他のヒント
私もこの問題を抱えています。私がしたことは、コードを次のように変更することでした。
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.2//EN"
"http://tuckey.org/res/dtds/urlrewrite3.2.dtd">
の中へ :
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//www.tuckey.org//DTD UrlRewrite 3.2//EN"
"http://www.tuckey.org/res/dtds/urlrewrite3.2.dtd">
基本的に、「www」を追加しました。 「tuckey.org」の前に、問題を修正しました。
http://forum.springsource.org/showthread.php?t=90962 私を正しい道に導いた。
DTDからダウンロードした場合 http://tuckey.org/res/dtds/urlrewrite3.0.dtd あなたはそれが正しいことがあり、時にはそれが空のhtmlであることがあることがわかります。 Eclipseは、どちらの方法でもダウンロードするものをキャッシュします。問題を2つの方法で修正できます。
- DTDファイルを自分でダウンロードし、XML DTDのように見えることを確認し、ローカルに保存し、これをurlrewrite.xmlヘッダーに指してください。
- 優先順位に移動します - >一般 - >ネットワーク接続 - >キャッシュしてキャッシュされたDTDを削除し、XML(右クリック - >検証)を再確認します。 DTDキャッシュの良いコピーを取得するまで繰り返します。
追加 www 私のために動作をリンクするために、私はから変更されました
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE urlrewrite
PUBLIC "-//tuckey.org//DTD UrlRewrite 3.0//EN"
"http://tuckey.org/res/dtds/urlrewrite3.0.dtd">
に
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE urlrewrite
PUBLIC "-//tuckey.org//DTD UrlRewrite 3.0//EN"
"http://www.tuckey.org/res/dtds/urlrewrite3.0.dtd">
こんにちは私はここでこれらの答えのいくつかに基づいてこれを解決しました:
私が従ったステップは次のとおりです。
1. urlrewrite3.2.dtdをダウンロードしました
2.ローカルに... war/web-inf/urlrewrite3.2.dtdに保存しました
3.私のurlrewriteファイルをローカルコピーに向けました
4.キャッシュバージョンを削除しました(設定>一般>ネットワーク接続>キャッシュ)
5. XMLを再検証しました
注:Titi Wangsa Bin Damhoreが提案したように、最初にファイルを編集しようとしましたが、DTDファイルで検証エラーがありました。上記の手順とブームに従って削除しました。問題が解決しました。アイデアを提供してくれた人に感謝します。
BlockQuote
グーグルの「サンプルDTD」4番目または5番目の結果はいくつかありましたか http://www.xmlfiles.com/dtd/dtd_examples.asp
サンプルには
<!DOCTYPE TVSCHEDULE [
<!ELEMENT TVSCHEDULE (CHANNEL+)>
..
..
]>
URLはDTDを書き直しました
<!ELEMENT urlrewrite ((rule|class-rule)*, outbound-rule*, catch*)>
私は「」のためのWGETを発行しましたhttp://tuckey.org/res/dtds/urlrewrite3.0.dtd""そして、sts、yup、その赤で開かれました。
上部に追加されました
<!DOCTYPE urlrewrite [
そして底を広告します
]>
そして、それはもう赤ではありません。
だから私は提案します、
- DTDを取得します
- それを変更します
- XMLと同じディレクトリに保存します
- XMLを変更して、同じディレクトリでDTDを使用します。
Intellijのアイデアでは、Red DTD URIを選択し、Alt-Enterをヒットしてから、「外部リソースの取得」を選択できます。
Eclipseでは、XMLカタログへのエントリを次のように追加できます。
これが役立つことを願っています。
3.0を3.2に変更すると私のために働きました...
DTDを手に入れました... XMLと同じディレクトリに保存して変更しました。今、DTDとXMLに赤があります
ドキュメントタイプの宣言によって含まれるまたは指摘されたマークアップ宣言は、十分に形成されている必要があります。 urlrewrite3.0.dtd
参照されたファイルには、エラーが含まれています(.... App/SRC/Main/WebApp/Web-INF/URLREWRITE3.0.DTD)。 ..
XMLファイルとDTDファイルをアップロードしてください。
user374708メソッドを使用し、ネットワークcahceをクリアしました。
DTDをダウンロードして、XMLカタログエントリでポイントすることをお勧めします。これにより、公開時にDTDを変更する必要がないため、開発中にファイルがローカルで検証されます。
私は問題を理解しました。このURLを試してください http://tuckey.org/res/dtds/urlrewrite3.1.dtd 閲覧すると、DTDファイルの代わりにまったく異なるHTMLページにリダイレクトされていることがわかります。だからここに私がしたことがあります。 Tuckey JarからDTDファイルを見つけて、コンテンツを{workspace}/。metadata/.plugins/org.eclipse.wst.internet.cache/279269156.cacheにコピーし、マーカービューから警告を削除し、削除しました。 Rememer 279269156.Cacheキャッシュファイルの名前は異なります。したがって、いくつかのエディターでキャッシュファイルを開くことにより、どちらが悪いファイルであるかを見つける必要があります
その問題は次のリリースのために修正されました... https://jira.springsource.org/Browse/ROO-1129