КЕНГУРУ Spring выходит с UrlRewrite в STS (затмение)

Я испытываю затруднения при выяснении, как решить эту проблему. Мне назвали файл: "urlrewrite.xml", который был автоматически сгенерирован пружинным КЕНГУРУ после выполнения команды "контроллера" у КЕНГУРУ Shell.

Однако я все еще получаю следующую ошибку:

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

Какие-либо мысли о том, как избавиться от этой ошибки?

7
задан Sean Patrick Floyd 25 March 2012 в 10:20
поделиться

10 ответов

Просто измените 3.0 на 3.2

<!DOCTYPE urlrewrite
    PUBLIC "-//tuckey.org//DTD UrlRewrite 3.2//EN"
    "http://tuckey.org/res/dtds/urlrewrite3.2.dtd">
10
ответ дан 6 December 2019 в 05:54
поделиться

поискал в Google "образец 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, да, его красный цвет.

добавлен вверху

<!DOCTYPE urlrewrite [

и внизу

]>

, и он больше не красный.

поэтому я предлагаю

  1. получить dtd
  2. изменить его
  3. сохранить его в том же каталоге, что и xml
  4. изменить xml, чтобы использовать dtd в том же каталоге.
1
ответ дан 6 December 2019 в 05:54
поделиться

Я получил DTD ... сохранил его в том же каталоге, что и xml и изменил его. теперь в DTD и xml есть красный цвет

Декларации разметки, содержащиеся или на которые указывает декларация типа документа, должны быть хорошо сформированы. urlrewrite3.0.dtd

Ссылающийся файл содержит ошибки (....App/src/main/webapp/WEB-INF/urlrewrite3.0.dtd). ...

Пожалуйста, загрузите ваш xml файл и dtd файл.

0
ответ дан 6 December 2019 в 05:54
поделиться

В IntelliJ IDEA вы можете выбрать красный DTD URI, нажать Alt-Enter, затем выбрать "Fetch external resource".

В Eclipse вы можете добавить запись в каталог XML под: Preferences -> XML -> XML Catalog.

Надеюсь, это поможет.

1
ответ дан 6 December 2019 в 05:54
поделиться

http://forum.springsource.org/showthread.php?t=90962 привели меня на правильный путь.

Если вы загрузите DTD с http://tuckey.org/res/dtds/urlrewrite3.0.dtd , вы обнаружите, что иногда он правильный, а иногда - пустой HTML. Eclipse в любом случае кэширует то, что загружает. Вы можете решить проблему двумя способами:

  1. Загрузите файл DTD самостоятельно, убедитесь, что он похож на XML DTD, сохраните его локально и укажите на него в заголовке urlrewrite.xml.
  2. Перейдите в «Настройки» -> «Общие» -> «Сетевые подключения» -> «Кэш» и удалите кэшированное DTD, затем повторно проверьте XML (щелкните правой кнопкой мыши -> «Проверить»). Повторяйте, пока не получите хорошую копию кэшированного DTD.
5
ответ дан 6 December 2019 в 05:54
поделиться

Я использовал метод user374708 и очистил сетевой cahce, как показано в сообщении Nearmars

0
ответ дан 6 December 2019 в 05:54
поделиться

Привет, я только что решил эту проблему, основываясь на нескольких из этих ответов здесь:

Я выполнил следующие шаги:
1. Загрузил urlrewrite3.2.dtd
. 2. сохранил его локально в ... war / WEB-INF / urlrewrite3.2.dtd
3. указал мой файл URLrewrite на локальную копию
4. удалена кешированная версия («Настройки»> «Основные»> «Сетевые подключения»> «Кэш»)
5. Повторная проверка XML

Примечание. Сначала я попытался отредактировать файл, как это было предложено Тити Ванса бин Дамхор. но я получил ошибку проверки в файле dtd. Я удалил это, выполнив шаги, описанные выше, и бум. Проблема решена. Спасибо тем, кто внес идеи.

Цитата

2
ответ дан 6 December 2019 в 05:54
поделиться

У меня сработало изменение 3.0 на 3.2 ...

1
ответ дан 6 December 2019 в 05:54
поделиться

Эта проблема исправлена ​​в следующем выпуске ... https://jira.springsource.org/browse/ROO-1129

0
ответ дан 6 December 2019 в 05:54
поделиться
1
ответ дан 6 December 2019 в 05:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: