2012-12-04 75 views
0

所以我在Spring WS中實現JPA和Hibernate有這個問題。
我已經正確配置了一切,根據教程它應該工作 - 但事實並非如此。
問題就出在persistance.xml,這裏是它的外觀:Spring JPA&Hibernate persistence_1_0.xsd not found

<persistence xmlns="http://java.sun.com/xml/ns/persistence" 
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
       xsi:schemaLocation="http://java.sun.com/xml/ns/persistence 
       http://java.sun.com/xml/ns/persistence/persistance_1_0.xsd" 
      version="1.0"> 

    <persistence-unit name="hibernatePersistenceUnit" transaction-type="RESOURCE_LOCAL"> 
     <properties> 
      <property name="hibernate.hbm2ddl.auto" value="none" /> 
     </properties> 
    </persistence-unit> 
</persistence> 

和異常我得到:

Caused by: java.io.FileNotFoundException: class path resource [persistence_1_0.xsd] cannot be resolved to URL because it does not exist 
    at org.springframework.core.io.ClassPathResource.getURL(ClassPathResource.java:177) 
    at org.springframework.orm.jpa.PersistenceUnitReader.validateResource(PersistenceUnitReader.java:281) 
    at org.springframework.orm.jpa.PersistenceUnitReader.readPersistenceUnitInfos(PersistenceUnitReader.java:108) 
    ... 57 more 

我這個苦苦掙扎,因爲一會......難道人有一個想法我錯過了什麼?

+0

這是http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd(注意 'E' 而不是 'a' 的 '持久') – ccheneson

+0

,消除了問題顯示在屏幕上,我將刪除它,謝謝@ccheneson,但persistence_1_0.xsd沒有發現問題保持不變 – Grzzzzzzzzzzzzz

回答

1

您需要包含適當的jar文件,其中包含persistence_1_0.xsd。

這在這裏解釋。

what is the use of xsi:schemaLocation?

+0

是否有任何jar或包含'persistence_1_0.xsd'的Maven依賴關係?我找不到任何.. – Grzzzzzzzzzzzzz

+0

這取決於使用的JPA。對於休眠其 org.hibernate作爲 的Hibernate的EntityManager 4.0.1.Final 運行

+0

我對我的POM了此依賴性。 – Grzzzzzzzzzzzzz

0

在.xsd文件的url中存在一個類型。嘗試使用:http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd。調試這些類型的問題的一個好方法是嘗試在瀏覽器中打開url,一個成功的請求表示一個有效的鏈接。

<persistence xmlns="http://java.sun.com/xml/ns/persistence" 
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
       xsi:schemaLocation="http://java.sun.com/xml/ns/persistence 
       http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" 
      version="1.0"> 

    <persistence-unit name="hibernatePersistenceUnit" transaction-type="RESOURCE_LOCAL"> 
     <properties> 
      <property name="hibernate.hbm2ddl.auto" value="none" /> 
     </properties> 
    </persistence-unit> 
</persistence> 

你要確保你的項目名稱不包含任何空格,也不應路徑項目。這會在Hibernate實體管理器中創建一個錯誤。

+0

文件被下載,所以鏈接是好的,但錯誤remians .. – Grzzzzzzzzzzzzz

+0

我會繼續調查它。只是爲了踢你的項目。在Eclipse中,Project> Clean All。你的項目中還有你的persistence.xml文件嗎? –

+0

項目乾淨。根據war的'persistence.xml'在WEB-INF/classes/META-INF – Grzzzzzzzzzzzzz