簡體   English   中英

java.lang.NoClassDefFoundError: org/hibernate/cfg/配置

[英]java.lang.NoClassDefFoundError: org/hibernate/cfg/Configuration

我正在嘗試使用 Eclipse 中的 Hibernate 進行初始設置,同時使用 Tomcat 進行部署。

我遇到了以下問題:

java.lang.ClassNotFoundException: org.hibernate.cfg.Configuration
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1701)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
    db.HibernateUtil.buildSessionFactory(HibernateUtil.java:13)
    db.HibernateUtil.<clinit>(HibernateUtil.java:8)

我在網上查看了我的問題,我知道它與項目 class 路徑有關。

我已經在我的項目中添加了一個用戶庫,其中包含 hibernate 下載中“必需”目錄下的所有 jars,但這似乎不起作用。

在此處找到我的項目的屏幕截圖:

您收到錯誤是因為Tomcat無法使用hibernate庫。 在你的圖片中,在hibernate庫集下面有一個名為“Web App Libraries”的空集 - 這是你的hibernate庫需要的集合。

右鍵單擊您的項目 - >構建路徑 - >配置構建路徑,然后從構建路徑中刪除hibernate集。 現在將jar導入WEB-INF / lib文件夾。 刷新你的項目,現在你應該看到它們列在'Web App Libraries'集中(我很感激你有點討厭,你必須將它們導入你的代碼庫 - 其他人可能知道一個更好的方法來做到這一點不涉及復制罐子)

當您的jar文件尚未與Web存檔一起導出時,可能會發生此錯誤。 您可以執行@Chris White所說的內容,或者如果您使用的是Eclipse,則可以按照以下步驟操作。

Right click the project -> Build Path -> Configure Build Path

在左側列表中,單擊Deployment Assembly 單擊“ 添加 ”按鈕。 選擇“ Java Build Path Entries ”,然后單擊“ 下一步” 現在選擇你的hibernate jar文件或庫。 點擊完成 然后單擊確定
必要時重啟服務器。

比克里斯懷特更簡單的方式。

您收到錯誤是因為Tomcat無法使用hibernate庫。 右鍵單擊您的項目 - >構建路徑 - >配置構建路徑,然后從構建路徑中刪除 hibernate集。

做同樣的事情,但不是每次為新項目導入jar,**復制Apache Tomcat **的lib文件夾中所需的hibernate jar(或者你正在使用的服務器)。

您的庫文件夾中沒有hibernate jar請訪問以下鏈接以獲取可能的解決方案, http://www.smashplus.info/2012/11/javalangnoclassdeffounderror.html

要使用 IntelliJ 實現相同的目的:

  • 文件 -> 項目結構
  • 項目設置 -> 工件
  • Select your.war神器
  • 展開可用元素
  • 右擊 Hibernate 庫 -> 放入 /WEB-INF/lib

完畢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM