Domanda

Ho difficoltà a capire come risolvere questo problema. Ho un file chiamato: "Urlrewrite.xml" che è stato automaticamente generato da Spring Roo dopo aver eseguito il comando "Controller" in Roo Shell.

Tuttavia, ricevo ancora il seguente errore:

"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..."

Ecco il contenuto del file 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>

Qualche idea su come sbarazzarsi di questo errore?

È stato utile?

Soluzione

Basta cambiare da 3.0 a 3.2

<!DOCTYPE urlrewrite
    PUBLIC "-//tuckey.org//DTD UrlRewrite 3.2//EN"
    "http://tuckey.org/res/dtds/urlrewrite3.2.dtd">

Altri suggerimenti

Ho anche avuto questo problema. Quello che ho fatto è stato solo cambiare il codice da:

<?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">

in :

<?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">

Fondamentalmente, ho appena aggiunto il "www". Prima del "tuckey.org" e ha risolto il problema.

http://forum.springsource.org/showthread.php?t=90962 mi ha portato sulla strada giusta.

Se scarichi il DTD da http://tuckey.org/res/dtds/urlrewrite3.0.dtd Scoprirai che a volte è corretto e a volte è vuoto HTML. Eclipse cade ciò che scarica in entrambi i casi. Puoi risolvere il problema in due modi:

  1. Scarica tu stesso il file DTD, verifica che sembra un DTD XML, memorizzalo a livello locale e indica questo nell'intestazione URLREWRITE.XML.
  2. Vai alle preferenze -> Generale -> Connessioni di rete -> Cache e rimuovi il DTD memorizzato nella cache, quindi rivalidare l'XML (clic destro -> Convalida). Ripeti fino a quando non ricevi una buona copia del DTD memorizzato nella cache.

Aggiungere www per collegare funziona per me, sono cambiato da

<?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">

a

<?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">

Ciao ho appena risolto questo basato su alcune di queste risposte qui:

I passaggi che ho seguito sono stati:
1. Scaricato l'URLRewrite3.2.DTD
2. Salvato a livello locale a ... War/Web-Inf/UrlRewrite3.2.DTD
3. Ho puntato il mio file Urlrewrite alla copia locale
4. Rimosso la versione memorizzata nella cache (Preferenze> Generale> Connessioni di rete> Cache)
5. Redivò l'XML

Nota: inizialmente ho provato a modificare il file come suggerito da Titi Wangsa bin Damhore, ma lì ho ricevuto un errore di convalida nel file DTD. Ho rimosso quello che ha seguito i passaggi sopra e boom. Problema risolto. Grazie a coloro che hanno contribuito con idee.

Blockquote

un risultato "campione dtd" di cercato su Google è stato http://www.xmlfiles.com/dtd/dtd_examples.asp

Il campione aveva un file

<!DOCTYPE TVSCHEDULE [ 
<!ELEMENT TVSCHEDULE (CHANNEL+)>
..
..
]>

L'URL riscrive DTD con cui è iniziato

<!ELEMENT urlrewrite ((rule|class-rule)*, outbound-rule*, catch*)>

Ho emesso un Wget per ""http://tuckey.org/res/dtds/urlrewrite3.0.dtd"" E si aprì in STS, sì, è rosso.

Aggiunto in alto

<!DOCTYPE urlrewrite [

E ad annunciare il fondo

]>

E non è più rosso.

Quindi suggerisco,

  1. Ottieni il DTD
  2. alteralo
  3. Salvalo nella stessa directory dell'XML
  4. Alterate l'XML per utilizzare il DTD nella stessa directory.

Nell'idea di Intellij, è possibile selezionare l'URI DTD rosso, premere Alt-Enter, quindi scegliere "Fetch Extern Resource".

In Eclipse, è possibile aggiungere la voce al catalogo XML sotto: Preferenze -> XML -> Catalogo XML.

Spero che questo aiuti.

Cambiare da 3.0 a 3.2 ha funzionato per me ...

Ho ottenuto il DTD ... l'ho salvato nella stessa directory dell'XML e l'ho modificato. ora c'è un rosso nel DTD e XML

Le dichiarazioni di markup contenute o indicate dalla dichiarazione del tipo di documento devono essere ben formate. urlrewrite3.0.dtd

Il file di riferimento contiene errori (.... App/SRC/Main/WebApp/Web-Inf/UrlRewrite3.0.dtd). ..

Carica il file XML e il file DTD.

Ho usato il metodo user374708 e ho cancellato la rete CAHCE, come mostrato in NearMars Post

È meglio scaricare il DTD e indicarlo con una voce del catalogo XML, in quanto ciò rende non necessario modificare il DTD durante la pubblicazione, tuttavia i file verranno validati localmente durante lo sviluppo.

Ho capito il problema. Prova questo URL http://tuckey.org/res/dtds/urlrewrite3.1.dtd Con la tua navigazione e vedrai che ti sta reindirizzando a una pagina HTML completamente diversa invece del file DTD. Quindi ecco cosa ho fatto. Ho trovato il file DTD da Tuckey Jar e ho copiato il contenuto in {Workspace}/. Metadata/.Plugins/org.eclipse.wst.internet.cache/279269156.Cache ed eliminavo gli avvertimenti dalla vista dei marcatori e Rewated. Rememer 279269156.Cache Il nome del file cache varierà. Quindi devi trovare quale è il file cattivo aprendo il file cache con qualche editor

Quel problema è stato risolto per la prossima versione ... https://jira.springsource.org/browse/roo-1129

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top