2

Hibernate の XML をオフラインで解析する際に問題が発生しています。ネットワーク接続がない場合に DTD を指定する方法を知る必要があります。これが私の休止状態の設定です。

     <?xml version="1.0" encoding="utf-8"?>
     <!DOCTYPE hibernate-configuration PUBLIC
   "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
      "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
 <hibernate-configuration>
  <session-factory>
   <!-- Database connection settings -->
 <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/global_data</property>
<property name="connection.username">root</property>
<property name="connection.password">pass</property>

. . .

XML構成でPUBLICをSYSTEMに変更しようとしましたが、それでもエラーが発生します。私はEclipse IDEを使用しています。プロジェクトのビルドパスを、すべての休止状態ライブラリを手動でインポートするユーザーライブラリにポイントするだけです。

4

2 に答える 2

0

EclipseIDEにマッピングを追加する必要があります。これを行うには、[XML]->[XMLカタログ]メニューに移動します。次に、エントリを追加する必要があります。場所については、dtdファイルが存在する場所を指定する必要があります。jar内のファイルを検索する方法はありますが、現時点ではその方法がわかりません。PUBLICキータイプには、使用しているキーワードまたはに基づいて、パブリックIDまたはシステムIDを選択しますSYSTEM。次に、入力するキーについて-//Hibernate/Hibernate Configuration DTD 3.0//EN、オプションhttp://www.hibernate.org/dtd/hibernate-configuration-3.0.dtdで代替Webアドレスフィールドにアドレスを入力します。

使いやすさのために、jar内のdtdを見つけて、それをワークスペースのresourcesというプロジェクトに配置すると便利ですが、jarの場所を指定する方が正しいでしょう。

于 2012-05-01T20:49:18.500 に答える
0

私の簡単な2段階の解決策:

1) hibernate.cfg.xml が存在する同じ Eclipse パッケージに hibernate-configuration-3.0.dtd という名前の空のファイルを作成します。

次に、オンラインで、 http: //www.hibernate.org/dtd/hibernate-configuration-3.0.dtd にあるテキストを、作成した空の dtd ファイルにダウンロード/コピーします 。

2) オフラインのときは、hibernate.cfg.xml の 2 行目を次のように変更します。

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

これに

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

(この回答に !DOCTYPE を表示するには、先頭の小なり文字を削除する必要があったことに注意してください....そのため、必ず 2 行目の先頭に入力し直してください)

「オンライン」と「オフライン」の両方の設定を xml の下部にあるコメントに保存して、前後に切り替えることができるようにしています。

于 2015-09-07T14:53:57.843 に答える