2012-06-19 85 views
0

我有一個項目已添加到Jenkins服務器。該項目包括一個父母和孩子maven pom文件。我添加了父和子POM文件的構建,並且一切正常工作了一段時間,但之後子構建停止工作。Sonar無法構建Jenkins使用javax.persistence.NonUniqueResultException生成項目

每當孩子會得到聲納的分析,我會得到一個例外是這樣的:

Caused by: javax.persistence.NonUniqueResultException: Expected single result, but got : [Snapshot[resourceId=1148,createdAt=2011-04-29 23:08:23.0,version=01.01.01.1054-SNAPSHOT,last=true,status=P,scope=PRJ,path=,depth=0,qualifier=TRK,rootId=<null>,parentId=<null>,rootProjectId=1148,period1Mode=previous_analysis,period2Mode=days,period3Mode=days,period4Mode=<null>,period5Mode=<null>,period1Param=2011-04-19,period2Param=5,period3Param=30,period4Param=<null>,period5Param=<null>,period1Date=2011-04-19 05:06:16.0,period2Date=2011-04-24 23:08:23.0,period3Date=2011-03-30 23:08:23.0,period4Date=<null>,period5Date=<null>,id=486870], Snapshot[resourceId=1148,createdAt=2011-05-04 09:52:04.0,version=01.01.01.1054-SNAPSHOT,last=true,status=P,scope=PRJ,path=495746.,depth=1,qualifier=BRC,rootId=495746,parentId=495746,rootProjectId=1149,period1Mode=previous_analysis,period2Mode=days,period3Mode=days,period4Mode=<null>,period5Mode=<null>,period1Param=2011-04-29,period2Param=5,period3Param=30,period4Param=<null>,period5Param=<null>,period1Date=2011-04-29 23:08:23.0,period2Date=2011-04-29 09:52:04.0,period3Date=2011-04-04 09:52:04.0,period4Date=<null>,period5Date=<null>,id=495748]] 

我試圖刪除並重新創建項目無濟於事。任何解決方案

回答

1

這是聲納版本< 2.8中的一個錯誤。你可以看看這裏的錯誤報告:Sonar-2329。基本上,當父母和孩子的版本同時由聲納進行分析時會出現問題。要解決它,你應該做兩件事:

1)從詹金斯刪除父或​​孩子的構建。詹金斯應該只有一個項目。

2)您將需要清理由併發分析引起的數據庫損壞。你可以在你的聲納數據庫中運行以下SQL命令這樣做:

update snapshots old_snap, snapshots new_snap set old_snap.islast=0 where old_snap.islast=1 and new_snap.created_at > old_snap.created_at and new_snap.project_id = old_snap.project_id and new_snap.islast=1 

見bug報告的詳細信息,以及在SQL其他SQL方言命令。以上查詢適用於MySQL。

相關問題