0
org.dom4j.DocumentException: hibernate.sourceforge.net Nested exception: hibernate.sourceforge.net

java.net.UnknownHostException: hibernate.sourceforge.net

上記のエラーは休止状態で表示されますが、インターネットがオンの場合は正常に動作します。インターネットがない場合、上記のエラーが表示されます。

よろしくお願いします。

簡潔明瞭な説明をお願いします。

4

2 に答える 2

0

XML ファイルの 1 つの DOCTYPE 定義が、hibernate.sourceforge.net にある DTD を参照しているようです。

DTD が存在するようになりましたが、インターネットにアクセスできない場合、アプリケーションはそれにアクセスできません。

DTD をローカルの場所にコピーして、XML ファイルのヘッダーを次のように変更してみてください。

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

このようなものに:

<!DOCTYPE hibernate-configuration SYSTEM "hibernate-configuration.dtd">  

ここで、「hibernate-configuration.dtd」は、ファイル システムまたは jar ファイル内のローカル リソースを指します。

これを克服するための最も汚いトリックは、DTD 宣言を完全に削除することです。

<!DOCTYPE hibernate-configuration>

これも有効な doctype ですが、これが行う唯一のことは、ドキュメント内のルート要素の名前を「hibernate-configuration」に制限することです。後はワイルドチャーです。

于 2013-11-15T07:02:48.687 に答える
0

ここからDTDファイルをダウンロードしましたhttp://hibernate.org/dtd/hibernate-configuration-3.0.dtd

hibernate-configuration-3.0.dtd次に、このファイルをjarに追加します。Maven ベースのプロジェクトの場合、そのファイルを /src/main/resources フォルダーに追加します。

hibernate.cfg.xml以下のDTD宣言を追加します

<!DOCTYPE hibernate-configuration SYSTEM "classpath://hibernate-configuration-3.0.dtd">

インターネットに接続しなくても、アプリは動作します。

于 2015-09-23T05:52:54.953 に答える