2011-10-20 14 views
8

私はSpring JDBCを大成功に使用してきましたが、私はこのプロジェクトで多くの問題を抱えています。私はここのコードへのリンクを投稿します(私が得ることができれば、それはテストするだけの小さな愚かなプロジェクトだ、それまで、私は将来的に休止状態を使用することができるように実行されている):Spring Hibernateを使用する際の問題

のxmlファイル:http://codepaste.net/uw19zc

メインファイル:http://codepaste.net/iks1cp

私は、このような

[Fatal Error] bean2.out.xml:1:1: Premature end of file. 
13:21:39,471 FATAL [main] Main - getAssociatedStylesheets failed 

などのエラーのトンを取得し、私はa.out.xmlファイルを作成していません。

+1

はあなたになっているXMLとエラーを投稿し、いくつかのタグの間にその隠された文字を見ることができます'

ctrl + shift + F

を行いますご質問ください –

答えて

41

このエラーは、xmlファイルの解析が正しくないことが原因です。それを検証するためにEclipseを使用し はエラーを与える:

cvc-complex-type.2.3: Element 'beans' cannot have character [children], because the type's content type is element-only.

1またはそれらの<bean>宣言の多くの間でいくつかの奇妙な文字があるように見えます。このテキストを他の場所からコピーしましたか?

すべてのスペースと改行文字を<bean>定義の間に削除し、エディタに戻します。 XA0

UPDATE コピーメモ帳++あなたが提供codepaste内のテキスト、およびUTF-8に文字セットを設定への&貼り付けるには、空白行でこれらの文字を示しました。これは&nbsp;の標準Unicode変換です。これはこの問題の原因になりそうです。

これは私のために[OK]を検証します。

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
         http://www.springframework.org/schema/beans/spring-beans.xsd"> 
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" 
     destroy-method="close"> 
     <property name="driverClassName" value="com.mysql.jdbc.Driver" /> 
     <property name="url" value="jdbc:mysql://localhost:3306/HibernateDB" /> 
     <property name="username" value="HibernateDB" /> 
     <property name="password" value="java" /> 
    </bean> 
    <bean id="sessionFactory" 
     class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> 
     <property name="dataSource" ref="dataSource" /> 
     <property name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration" /> 
     <property name="annotatedClasses"> 
      <list> 
       <value>hdao.HibernateObject</value> 
      </list> 
     </property> 
    </bean><bean id="springHibernateOperator" class="hdao.SpringHibernateOperatorImplementation"> 
     <property name="sessionFactory" ref="sessionFactory" /> 
    </bean> 
</beans> 
+0

偉大な答え!今何か変なことが起こった。私の主なメソッドがClassPathXmlApplicationContextをinstatiateしようとすると例外が発生する: スレッド "main"の例外org.springframework.beans.factory.BeanCreationException:クラスパスのリソース[bean2.xml]で定義された 'sessionFactory'という名前のBeanを作成中にエラーが発生しました: initメソッドの失敗。ネストされた例外はjava.lang.NoClassDefFoundErrorです:javax/persistence/Cacheable xmlファイルを正しく書き込んでいないのはなぜですか? –

+0

同じエラーについては、[こちら](http://www.coderanch.com/t/509836/ORM/java/Hibernate-java-lang-ClassNotFoundException-javax)で説明しています。 [hibernate-jpa-2.0-api-1.0.0.Final](http://mvnrepository.com/artifact/org.hibernate.javax.persistence/hibernate-jpa-2.0-api/1.0)があることを確認してください。 .0.Final)jarをクラスパス/依存関係に組み込みます。このクラスは[Java EE 6 api jar](http://repo1.maven.org/maven2/javax/javaee-api/6.0/javaee-api-6.0.jar)にもあります。また、この回答を受け入れて、この問題に関する別の質問を投稿することもできます。 –

+0

あなたは正しいです、私はそれを解決しましたが、私は答えを受け入れます、ありがとう=) –

7

あなたは、Linuxである場合は、

2

が時々あるXMLファイルに 'M-BM-' のような特別な "見えない" の文字を検出するために、cat -v file-name.xmlを使用しますいくつかのチュートリアルのWebサイトからコピーした依存関係やいくつかのBean定義の隠れた文字。これらの隠し文字を見つけるための最善の方法は、これはあなたの文書の書式を設定し、あなたが `

関連する問題