Pergunta

Estou tendo problemas para descobrir como resolver esse problema. Eu tenho um arquivo chamado: "urlrewrite.xml", que foi gerado automaticamente pelo Spring Roo após a execução do comando "Controller" no Roo Shell.

No entanto, ainda recebo o seguinte erro:

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

Aqui está o conteúdo do arquivo 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>

Alguma idéia de como se livrar desse erro?

Foi útil?

Solução

Basta mudar 3,0 para 3.2

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

Outras dicas

Eu também tive esse problema. O que fiz foi apenas mudar o código de:

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

em :

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

Basicamente, eu apenas anexei o "www". antes do "tuckey.org" e corrigiu o problema.

http://forum.springsource.org/showthread.php?t=90962 me levou ao caminho certo.

Se você baixar o DTD de http://tuckey.org/res/dtds/urlrewrite3.0.dtd Você descobrirá que às vezes está correto e às vezes está vazio HTML. Eclipse cache o que é download de qualquer maneira. Você pode resolver o problema de duas maneiras:

  1. Faça o download do arquivo DTD, verifique se ele se parece com um XML DTD, armazene -o localmente e aponte para isso no seu cabeçalho URLREWRITE.XML.
  2. Vá para Preferências -> Geral -> Conexões de rede -> cache e remova o DTD em cache e revalide o XML (clique com o botão direito do mouse -> Validar). Repita até obter uma boa cópia do cache do DTD.

Adicionar www Para vincular trabalhos para mim, mudei de

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

para

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

Olá, acabei de resolver isso com base em algumas dessas respostas aqui:

Os passos que segui foram:
1. Download do urlrewrite3.2.dtd
2. Economizou localmente para ... guerra/web-inf/urlrewrite3.2.dtd
3. apontou meu arquivo urlrewrite para a cópia local
4. Removido a versão em cache (Preferências> Geral> Conexões de Rede> Cache)
5. Revalidou o XML

NOTA: Eu tentei inicialmente editar o arquivo, como foi sugerido por Titi Wangsa bin Damhore, mas lá recebi um erro de validação no arquivo DTD. Eu removi isso seguiu as etapas acima e o boom. Problema resolvido. Obrigado àqueles que contribuíram com idéias.

Bloco de citação

Fiz alguns resultados do 4º ou 5º resultado no Google "Sample DTD" foram http://www.xmlfiles.com/dtd/dtd_examples.asp

A amostra teve um

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

O URL reescrever DTD começou com

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

Eu emiti um wget para ""http://tuckey.org/res/dtds/urlrewrite3.0.dtd"" e abriu em STs, sim, é vermelho.

Adicionado no topo

<!DOCTYPE urlrewrite [

e ad o fundo

]>

e não é mais vermelho.

Então eu sugiro,

  1. Obtenha o DTD
  2. alterá -lo
  3. salve -o no mesmo diretório que o XML
  4. Altere o XML para usar o DTD no mesmo diretório.

Na idéia Intellij, você pode selecionar o Red DTD URI, atingir o alt-entr e escolher "buscar recurso externo".

No Eclipse, você pode adicionar a entrada ao catálogo XML em: Preferências -> XML -> Catálogo XML.

Eu espero que isso ajude.

Mudando 3,0 para 3.2 funcionou para mim ...

Eu peguei o DTD ... salvei no mesmo diretório que o XML e o alterei. Agora há um vermelho no DTD e XML

As declarações de marcação contidas ou apontadas pela declaração do tipo de documento devem ser bem formadas. urlrewrite3.0.dtd

O arquivo referenciado contém erros (.... app/src/main/webapp/web-inf/urlrewrite3.0.dtd). ..

Faça o upload do seu arquivo XML e o arquivo DTD.

Usei o método User374708 e limpa a rede Cahce, como mostrado no post de perto de perto

É melhor fazer o download do DTD e apontá -lo com uma entrada de catálogo XML, pois isso torna desnecessário alterar o DTD ao publicar, mas seus arquivos serão validados localmente durante o desenvolvimento.

Eu descobri o problema. Experimente este URL http://tuckey.org/res/dtds/urlrewrite3.1.dtd Com sua navegação e você verá que está redirecionando você para uma página HTML completamente diferente em vez do arquivo DTD. Então aqui está o que eu fiz. Encontrei o arquivo dtd do Tuckey Jar e copiei o conteúdo para {Workspace}/. Metadata/.plugins/org.eclipse.wst.internet.cache/279269156.cache e excluí os avisos da visualização dos marcadores e revalidados. Rememer 279269156. O nome do arquivo de cache do Cache variará. Então você precisa encontrar qual é o arquivo ruim abrindo o arquivo de cache com algum editor

Esse problema foi corrigido para a próxima versão ... https://jira.springsource.org/browse/roo-1129

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top