Sonarqube Sonar:删除旧项目后无法处理新项目

Sonarqube Sonar:删除旧项目后无法处理新项目,sonarqube,sonarqube5.3,Sonarqube,Sonarqube5.3,我有一个很好的Qube服务器v5.3。一切都很顺利。然后今天我决定删除一些我不想要的项目。删除进行得很顺利,或者至少我认为是这样。它们从GUI中消失了 我甚至在数据库中进行了检查,但它们没有显示此命令: select * from projects where kee like '%sonar%' 问题是在我删除了这些项目之后,当我再次尝试运行sonar分析时,只设置了一个项目,但没有运行分析。当我转到时,我得到一个DB错误 管理>后台任务>日志 错误是: 2016.05.10 15:59:4

我有一个很好的Qube服务器v5.3。一切都很顺利。然后今天我决定删除一些我不想要的项目。删除进行得很顺利,或者至少我认为是这样。它们从GUI中消失了

我甚至在数据库中进行了检查,但它们没有显示此命令:

select * from projects where kee like '%sonar%'
问题是在我删除了这些项目之后,当我再次尝试运行sonar分析时,只设置了一个项目,但没有运行分析。当我转到时,我得到一个DB错误

管理>后台任务>日志

错误是:

2016.05.10 15:59:43 INFO  [o.s.s.c.s.ComputationStepExecutor] Execute component visitors | time=6135ms
2016.05.10 15:59:43 INFO  [o.s.s.c.s.ComputationStepExecutor] Compute measure variations | time=1ms
2016.05.10 15:59:43 INFO  [o.s.s.c.s.ComputationStepExecutor] Computes Quality Gate measures | time=1ms
2016.05.10 15:59:43 INFO  [o.s.s.c.s.ComputationStepExecutor] Compute Quality profile measures | time=18ms
2016.05.10 15:59:43 INFO  [o.s.s.c.s.ComputationStepExecutor] Generate Quality profile events | time=4ms
2016.05.10 15:59:43 INFO  [o.s.s.c.s.ComputationStepExecutor] Generate Quality gate events | time=3ms
2016.05.10 15:59:44 ERROR [o.s.s.c.t.CeWorkerCallableImpl] Failed to execute task AVSa9zwoeZCFdUKsTOSM
org.sonar.server.computation.component.VisitException: Visit failed for Component {key=com.som.lan:lan-biz:src/main/java/sb1/biz/financing/demo,type=DIRECTORY}  located com.som.lan:lan-biz(type=MODULE)->com.som:lan(type=MODULE)->com.som:modules(type=MODULE)->bm-master_feature_dig-9129-javascript-in-sonar(type=PROJECT)
    at org.sonar.server.computation.component.VisitException.rethrowOrWrap(VisitException.java:44) ~[sonar-server-5.3.jar:na]
    at org.sonar.server.computation.component.PathAwareCrawler.visit(PathAwareCrawler.java:52) ~[sonar-server-5.3.jar:na]
    at org.sonar.server.computation.component.PathAwareCrawler.visitChildren(PathAwareCrawler.java:87) ~[sonar-server-5.3.jar:na]
    at org.sonar.server.computation.component.PathAwareCrawler.visitImpl(PathAwareCrawler.java:70) ~[sonar-server-5.3.jar:na]
    at org.sonar.server.computation.component.PathAwareCrawler.visit(PathAwareCrawler.java:50) ~[sonar-server-5.3.jar:na]
    at org.sonar.server.computation.component.PathAwareCrawler.visitChildren(PathAwareCrawler.java:87) ~[sonar-server-5.3.jar:na]
    at org.sonar.server.computation.component.PathAwareCrawler.visitImpl(PathAwareCrawler.java:70) ~[sonar-server-5.3.jar:na]
    at org.sonar.server.computation.component.PathAwareCrawler.visit(PathAwareCrawler.java:50) ~[sonar-server-5.3.jar:na]
    at org.sonar.server.computation.component.PathAwareCrawler.visitChildren(PathAwareCrawler.java:87) ~[sonar-server-5.3.jar:na]
    at org.sonar.server.computation.component.PathAwareCrawler.visitImpl(PathAwareCrawler.java:70) ~[sonar-server-5.3.jar:na]
    at org.sonar.server.computation.component.PathAwareCrawler.visit(PathAwareCrawler.java:50) ~[sonar-server-5.3.jar:na]
    at org.sonar.server.computation.component.PathAwareCrawler.visitChildren(PathAwareCrawler.java:87) ~[sonar-server-5.3.jar:na]
    at org.sonar.server.computation.component.PathAwareCrawler.visitImpl(PathAwareCrawler.java:70) ~[sonar-server-5.3.jar:na]
    at org.sonar.server.computation.component.PathAwareCrawler.visit(PathAwareCrawler.java:50) ~[sonar-server-5.3.jar:na]
    at org.sonar.server.computation.step.PersistComponentsStep.execute(PersistComponentsStep.java:77) ~[sonar-server-5.3.jar:na]
    at org.sonar.server.computation.step.ComputationStepExecutor.execute(ComputationStepExecutor.java:39) ~[sonar-server-5.3.jar:na]
    at org.sonar.server.computation.taskprocessor.report.ReportTaskProcessor.process(ReportTaskProcessor.java:72) ~[sonar-server-5.3.jar:na]
    at org.sonar.server.computation.taskprocessor.CeWorkerCallableImpl.executeTask(CeWorkerCallableImpl.java:81) [sonar-server-5.3.jar:na]
    at org.sonar.server.computation.taskprocessor.CeWorkerCallableImpl.call(CeWorkerCallableImpl.java:56) [sonar-server-5.3.jar:na]
    at org.sonar.server.computation.taskprocessor.CeWorkerCallableImpl.call(CeWorkerCallableImpl.java:35) [sonar-server-5.3.jar:na]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_72]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_72]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_72]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_72]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [na:1.8.0_72]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_72]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_72]
    at java.lang.Thread.run(Thread.java:745) [na:1.8.0_72]
Caused by: org.apache.ibatis.exceptions.PersistenceException:
更新数据库时出错。原因:java.sql.SQLIntegrityConstraintViolationException:ORA-00001:违反了唯一约束(SONAR.PROJECTS_-KEE) 错误可能涉及org.sonar.db.component.ComponentMapper.insert-Inline 设置参数时出错 原因:java.sql.SQLIntegrityConstraintViolationException:ORA-00001:违反了唯一约束(SONAR.PROJECTS_-KEE) 原因:java.sql.SQLIntegrityConstraintViolationException:ORA-00001:违反了唯一约束(SONAR.PROJECTS\u-KEE)

2016.05.10 15:59:44错误[o.s.s.c.t.CeWorkerCallableImpl]执行任务|项目=bm-master_功能| dig-9129-javascript-in-sonar | id=AVSa9zwoeZCFdUKsTOSM |时间=8689ms

无论项目名称如何,都会显示此错误。似乎是模块导致了唯一约束,而不是项目名称本身

我试过:

  • 使用GUI删除项目
  • 停止声纳并重新启动
我没有在DB中手动执行任何操作,只是查看表,看看是否能找到一些解决方法

你知道我怎样才能摆脱这个吗

谢谢:)

编辑:

我和maven一起运行sonar,如下所示:

mvn -e sonar:sonar \
-DskipTests \
-DXmx2g \
-DXX:MaxPermSize=1g \
-Dsonar.host.url=http://sonar.myserver.com \
-Dsonar.projectKey=${sonarProjectName} \
-Dsonar.projectName=${sonarProjectName} \
-Dsonar.projectVersion=${branch} \
-Dsonar.forceAnalysis=true \
-Dsonar.sourceEncoding=UTF-8 \
-Dmaven.test.failure.ignore=true \
-Dsonar.sources=. \
-Dsonar.exclusions=**/target/**/*,**/src/lib/**/*,**/node_modules/**/* \
-Dsonar.test.exclusions=**/src/test/java/** \
-Dsonar.junit.reportsPath=**/target/surefire-reports \
-Dsonar.jacoco.reportPath=${WORKSPACE}/target/jacoco.exec \
-Dsonar.jacoco.itReportPath=${WORKSPACE}/target/jacoco-it.exec \
-Dsonar.java.binaries=**/target/classes \
-Dsonar.java.coveragePlugin=jacoco \
-Dsonar.verbose=true

由于这里IT设置的性质,我不能使用Jenkins Sonaqube Runner插件。我在这里的另一个项目中使用了它,它运行得非常完美

我解决了这个问题,但我不知道问题最初为什么会发生

解决方案是排除src demo目录,因此我将排除项更改为:

    -Dsonar.exclusions=**/target/**/*,**/src/lib/**/*,**/node_modules/**/*,**/src/main/java/**/demo/**/* \
我不知道为什么会出现这个错误。后来我在我的sonar主机上查看管理GUI,在“管理>常规设置>分析范围>文件”下看到了我已经拥有的文件

**/demo/*.java
作为源文件排除


我想知道这是否是唯一约束错误的原因?无论如何,我希望得到比这更好的响应,这样我就知道了错误发生的原因。

我解决了这个问题,但我不知道问题发生的原因

解决方案是排除src demo目录,因此我将排除项更改为:

    -Dsonar.exclusions=**/target/**/*,**/src/lib/**/*,**/node_modules/**/*,**/src/main/java/**/demo/**/* \
我不知道为什么会出现这个错误。后来我在我的sonar主机上查看管理GUI,在“管理>常规设置>分析范围>文件”下看到了我已经拥有的文件

**/demo/*.java
作为源文件排除

我想知道这是否是唯一约束错误的原因?无论如何,我希望我得到比这更好的回应,这样我就知道为什么会发生错误