Squeak.ru - шаблоны программирования

Ошибка анализа Hibernate.cfg.xml

<

!DOCTYPE hibernate-configuration PUBLIC  
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"  
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">  

У меня есть это в моем файле hibernate.cfg.xml. У меня загружены банки (от http://www.javatpoint.com/src/hb/hibernatejar.zip) в папке WEB-INF в рабочей области eclipse. Тем не менее он говорит, что hibernate.sourceforge.net недоступен. Я заменил его на www.hibernate.org/dtd, и это также дает ту же ошибку. Пожалуйста, помогите мне исправить это.

Та же проблема и в файле сопоставления.

Ошибка после добавления classpath в DOCTYPE:

log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" org.hibernate.HibernateException: Could not parse configuration: hibernate.cfg.xml
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1491)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:1425)
    at StoreData.main(StoreData.java:12)
Caused by: org.dom4j.DocumentException: unknown protocol: classpath Nested exception: unknown protocol: classpath
    at org.dom4j.io.SAXReader.read(SAXReader.java:484)
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1481)
    ... 2 more

  • Присутствуют ли ваши библиотеки в пути к классам вашего приложения? 21.08.2014
  • я добавил банки в папку WEB-INF/lib. Кроме того, я также добавил их в путь сборки Java. 21.08.2014
  • Проверьте мой ответ. 21.08.2014

Ответы:


1

Ваше определение DOCTYPE относится к DTD, который находится на hibernate.sourceforge.net. Теперь, когда DTD существует (я могу просматривать его через Firefox), но ваше приложение не может получить к нему доступ. Назначение элемента doctype — ссылка на DTD.

Попробуйте использовать ниже

<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"classpath://org/hibernate/hibernate-mapping-3.0.dtd">
21.08.2014
  • Я пробовал это также. Это будет означать, что он будет ссылаться на DTD, присутствующий в local. Но DTD присутствует только внутри hibernate3.jar в моей рабочей области. Как указать DTD внутри jar? 21.08.2014
  • @naveenbharadwaj какая версия спящего режима 21.08.2014
  • Я не уверен. Я скачал баночки с сайта. Это набор банок, которые есть у меня на рабочем месте. antlr-2.7.6.jar asm-attrs.jar asm.jar c3p0-0.9.1.jar cglib-2.1.3.jar commons-collections-2.1.1.jar commons-logging-1.0.4.jar dom4j-1.6 .1.jar ehcache-1.2.3.jar ejb3-persistence.jar hibernate-annotations.jar hibernate-commons-annotations.jar hibernate-validator.jar hibernate3.jar jdbc2_0-stdext.jar jta.jar log4j-1.2.11. jar ojdbc14.jar xerces-2.6.2.jar 21.08.2014
  • Я извлек DTD по пути и сослался на него в пути к классам. Теперь выдает эту ошибку. Вызвано: org.dom4j.DocumentException: неизвестный протокол: путь к классам Вложенное исключение: неизвестный протокол: путь к классам в org.dom4j.io.SAXReader.read(SAXReader.java:484) в org.hibernate.cfg.Configuration.doConfigure(Configuration. java:1481) ... еще 2 21.08.2014

  • 2

    Ниже должно быть ваше полное DTD в файле hibernate.cfg.xml.

    <!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
    

    Также не забудьте проследить при старте в файле

    <?xml version='1.0' encoding='utf-8'?> 
    
    21.08.2014
  • Можете ли вы опубликовать полное содержимое hibernate.cfg.xml? 21.08.2014
  • ‹?xml version='1.0' encoding='UTF-8'?› ‹!DOCTYPE hibernate-configuration PUBLIC --//Hibernate/Hibernate Mapping DTD 3.0//EN classpath://org/hibernate/hibernate-configuration-3.0. dtd› ‹hibernate-configuration› ‹session-factory› ‹mapping resource=lang.hbm.xml/› ‹/session-factory› ‹/hibernate-configuration› 21.08.2014
  • Свойства удалены из комментария выше. 21.08.2014
  • Попробуйте ‹?xml version='1.0' encoding='utf-8'?› ‹!DOCTYPE hibernate-configuration PUBLIC --//Hibernate/Hibernate Configuration DTD 3.0//EN hibernate.sourceforge.net/hibernate-configuration-3.0.dtd› ‹hibernate-configuration› ‹session-factory› ‹mapping resource= lang.hbm.xml/› ‹/session-factory› ‹/hibernate-configuration› 21.08.2014
  • вот усеченный URL hibernate.sourceforge.net/hibernate-configuration-3.0.dtd сверху строка 21.08.2014
  • Пробовал и это. Не работал. Я разместил файлы DTD локально, как упоминалось в другом ответе. Но я получаю эту ошибку: Вызвано: org.dom4j.DocumentException: неизвестный протокол: путь к классам Вложенное исключение: неизвестный протокол: путь к классам 21.08.2014
  • Пожалуйста, опубликуйте полную трассировку стека. 21.08.2014
  • log4j:WARN Не удалось найти приложения для регистратора (org.hibernate.cfg.Environment). log4j:WARN Пожалуйста, правильно инициализируйте систему log4j. Исключение в основном потоке org.hibernate.HibernateException: не удалось проанализировать конфигурацию: hibernate.cfg.xml в org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1491) в org.hibernate.cfg.Configuration.configure(Configuration. java:1425) в StoreData.main(StoreData.java:12) 21.08.2014
  • Пожалуйста, отредактируйте свой вопрос и опубликуйте полную трассировку стека. 21.08.2014
  • Обратите внимание, что ваши файлы сопоставления будут иметь разные Dtds. А также перепроверьте свои свойства в hibernate.cfg.xml, там может быть проблема. 21.08.2014
  • Это забота. У меня есть оба DTD, помещенные в путь к классам. 21.08.2014
  • А также перепроверьте свои свойства в hibernate.cfg.xml, там может быть проблема. 21.08.2014
  • Это дает ошибку перед разбором свойств (в самом пути к классам). И я также проверил свойства. 21.08.2014
  • Теперь вам нужно опубликовать полный код приложения, чтобы мы могли вам помочь. 21.08.2014
  • Новые материалы

    Угловая структура архитектуры
    Обратите внимание, что эта статья устарела, я решил создать новую с лучшей структурой и с учетом автономных компонентов: https://medium.com/@marekpanti/angular-standalone-architecture-b645edd0d54a..

    «Данные, которые большинство людей используют для обучения своих моделей искусственного интеллекта, поставляются со встроенным…
    Первоначально опубликовано HalkTalks: https://hacktown.com.br/blog/blog/os-dados-que-a-maioria-das-pessoas-usa-para-treinar-seus-modelos-de-inteligencia-artificial- ja-vem-com-um-vies-embutido/..

    Сильный ИИ против слабого ИИ: различия парадигм искусственного интеллекта
    В последние годы изучению и развитию искусственного интеллекта (ИИ) уделяется большое внимание и прогресс. Сильный ИИ и Слабый ИИ — две основные парадигмы в области искусственного интеллекта...

    Правильный способ добавить Firebase в ваш проект React с помощью React Hooks
    React + Firebase - это мощная комбинация для быстрого и безопасного создания приложений, от проверки концепции до массового производства. Раньше (знаете, несколько месяцев назад) добавление..

    Создайте API с помощью Python FastAPI
    Создание API с помощью Python становится очень простым при использовании пакета FastAPI. После установки и импорта вы можете создать приложение FastAPI и указать несколько конечных точек. Каждой..

    Веселье с прокси-сервером JavaScript
    Прокси-серверы JavaScript — это чистый сахар, если вы хотите создать некоторую общую логику в своих приложениях, чтобы облегчить себе жизнь. Вот один пример: Связь клиент-сервер Мы..

    Получить бесплатный хостинг для разработчиков | Разместите свой сайт за несколько шагов 🔥
    Статические веб-сайты — это веб-страницы с фиксированным содержанием и его постоянным содержанием. Но теперь статические сайты также обрабатывают динамические данные с помощью API и запросов...