2016-01-25 62 views
1

我讀了很多關於錯誤javax/transaction/TransactionManager的帖子,但這些解決方案都沒有解決我的問題。引起:java.lang.NoClassDefFoundError:Ljavax/transaction/TransactionManager;

首先要說的是,當我在服務器上部署我的web應用程序(使用Spring MVC和Hibernate製作)時出現此錯誤。在我的電腦上,Eclipse和Tomcat 7一切正常。

第二件要說的是,在該服務器上,我有另一個在tomcat /root文件夾下運行的web應用程序(這是一個簡單的java應用程序,既不使用Spring mvc也不使用Hibernate)。我嘗試部署的新應用程序正在另一個名爲/prova的文件夾下運行。

這些都是我的應用程序的所有庫 enter image description here

另外,根據我的一些帖子閱讀,我加入到我的lib文件夾:

1)JTA-3.1.2.2.jar

2)hibernate3.3.1-JTA-1.1.jar

3)javax.transaction.jar

在我的XML˚F ILE我有這個bean定義事務經理

<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> 
    <property name="sessionFactory" ref="sessionFactory" /> 
</bean> 

奇怪的事情是,在服務器日誌確切的錯誤是

Caused by: java.lang.NoClassDefFoundError: Ljavax/transaction/TransactionManager; 

有以前javax/transaction/TransactionManager

任何想法大號

謝謝

回答

-1

哪裏是彈簧數據罐?它看起來像彈簧數據共享。請花點時間學習如何使用maven或gradle。它會節省你很多時間。

1

不要擔心「L」,它只是定義以下是一個對象。你可以找到其他字母:

BaseType 
B  byte (signed byte) 
C  char (Unicode character) 
D  double (double-precision floating-point value) 
F  float (single-precision floating-point value) 
I  int (integer) 
J  long (long integer) 
L<classname>;  reference (an instance of class <classname>) 
S  short (signed short) 
Z  boolean (true or false) 
[  reference (one array dimension) 

要回到你的問題,你確定你的事務管理器蒙山這個東西接近:

<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager" p:sessionFactory-ref="sessionFactory"> 
</bean> 

HibernateTransactionManager的是使用javax.transaction.TransactionManager

的實現
+0

嗨,我編輯了mypost,添加了我的事務管理器的bean。 – MDP

+0

在您的服務器上,您是否檢查了類路徑中的庫與您的計算機上的庫相同? HibernateTransactionManager由spring-orm提供,所以它應該在戰爭中。也許你應該嘗試在tomcat外部類路徑中添加spring-orm來檢查戰爭中的那個是不是神祕地跳過了? – Snorky35

+1

它出來的問題是數據庫的名稱錯誤。現在我不再有這個錯誤了。謝謝。 – MDP

相關問題