2011-08-10 35 views
3

我已經創建了一個將生成報告的java應用程序。該報告在iReports 3.7.5中進行。問題是我的應用程序使用log4j來記錄錯誤,甚至報告使用log4j來記錄它的錯誤,並且兩者之間似乎有某種衝突。我試過更改jar文件,但沒有成功。 我將報告包含在另一個不使用log4j的項目中,報告生成正常。 任何幫助,將不勝感激。 ,我得到的錯誤是爲jasper報告禁用log4j中的日誌記錄

com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your 
SQLsyntax; check the manual that corresponds to your MySQL server version for the 
right syntax to use near 'isTrue': replacing [Generic bean: class 
[org.springframework.beans.factory.confi' at line 1 

Aviral

+0

你是什麼意思與「某種衝突」?報告沒有生成,或者是唯一的問題,即日誌文件中存在錯誤,這似乎是出於某種原因。 – Daniel

+1

報告沒有生成,應用程序停止工作,並且在netbeans中引發了上述錯誤。正如我所說的,當我使用相同的代碼在另一個不使用log4j的應用程序中調用相同的報告時,報告就會生成。 – Aviral

回答

1

你是說你有你的classpath的log4j的兩個版本,是造成問題?

如果是這樣,您只需要更改其中包的名稱。在IDE中使用自動重構工具將log4j重命名爲com.log4j。*爲mylog4j。*(或任何您想要的)。顯然,你需要改變,但log4j jar以及你的代碼中的所有引用。這也可以通過重構工具自動完成。

這將消除您的衝突:)

如果你真的希望他們一起工作,你可能將不得不問log4j的人是什麼版本相互兼容。 (更多的工作)。

祝你好運。

有人給我加一個:P