0

我正在尝试从一个版本升级 到另一个版本,但在64 位上我一直遇到问题。SonarQube4.45.1Windows

4.4 目前在 9000 上运行,我很确定我已经正确更改了wrappersonarconf 文件。

有人可以告诉我正确升级它的正确步骤或指向正确的方向吗?

我在有关升级数据库的日志中收到此错误:

无法升级数据库

迁移失败:com/thoughtworks/xstream/XStream。请检查日志。

  Migration failed: com/thoughtworks/xstream/XStream .
2015.06.15 15:46:09 ERROR web[o.s.s.ui.JRubyFacade] Fail to upgrade database
com/thoughtworks/xstream/XStream
    org.sonar.plugins.findbugs.xml.FindBugsFilter.createXStream(FindBugsFilter.java:157)
    org.sonar.plugins.findbugs.FindbugsProfileImporter.importProfile(FindbugsProfileImporter.java:54)
    org.sonar.plugins.findbugs.SonarWayWithFindbugsProfile.createProfile(SonarWayWithFindbugsProfile.java:43)
    org.sonar.server.qualityprofile.RegisterQualityProfiles.profilesByLanguage(RegisterQualityProfiles.java:182)
    org.sonar.server.qualityprofile.RegisterQualityProfiles.start(RegisterQualityProfiles.java:91)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    java.lang.reflect.Method.invoke(Method.java:606)
    org.picocontainer.lifecycle.ReflectionLifecycleStrategy.invokeMethod(ReflectionLifecycleStrategy.java:110)
    org.picocontainer.lifecycle.ReflectionLifecycleStrategy.start(ReflectionLifecycleStrategy.java:89)
    org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.start(AbstractInjectionFactory.java:84)
    org.picocontainer.behaviors.AbstractBehavior.start(AbstractBehavior.java:169)
    org.picocontainer.behaviors.Stored$RealComponentLifecycle.start(Stored.java:132)
    org.picocontainer.behaviors.Stored.start(Stored.java:110)
    org.picocontainer.DefaultPicoContainer.potentiallyStartAdapter(DefaultPicoContainer.java:1015)
    org.picocontainer.DefaultPicoContainer.startAdapters(DefaultPicoContainer.java:1008)
    org.picocontainer.DefaultPicoContainer.start(DefaultPicoContainer.java:766)
    org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:91)
    org.sonar.server.platform.ServerComponents$1.doPrivileged(ServerComponents.java:851)
    org.sonar.server.user.DoPrivileged.execute(DoPrivileged.java:43)
    org.sonar.server.platform.ServerComponents.executeStartupTasks(ServerComponents.java:847)
    org.sonar.server.platform.Platform.executeStartupTasks(Platform.java:126)
    org.sonar.server.platform.Platform.startLevel34Containers(Platform.java:122)
    org.sonar.server.platform.Platform.doStart(Platform.java:81)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    java.lang.reflect.Method.invoke(Method.java:606)
    org.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(JavaMethod.java:440)
    org.jruby.javasupport.JavaMethod.invokeDirect(JavaMethod.java:304)
    org.jruby.java.invokers.InstanceMethodInvoker.call(InstanceMethodInvoker.java:52)
    org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:306)
    org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:136)
    org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:60)
    org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
    org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
    org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74)
    org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:139)
    org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:182)
    org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:306)
    org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:136)
    org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:60)
    org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
    org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
    org.jruby.ast.RescueNode.executeBody(RescueNode.java:221)
    org.jruby.ast.RescueNode.interpret(RescueNode.java:116)
    org.jruby.ast.BeginNode.interpret(BeginNode.java:83)
    org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
    org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112)
    org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:384)
    org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:336)
    org.jruby.runtime.BlockBody.call(BlockBody.java:73)
    org.jruby.runtime.Block.call(Block.java:101)
    org.jruby.RubyProc.call(RubyProc.java:290)
    org.jruby.RubyProc.call(RubyProc.java:228)
    org.jruby.internal.runtime.RubyRunnable.run(RubyRunnable.java:97)
    java.lang.Thread.run(Thread.java:745)

(我是一名程序员,而不是 IT 架构师。对不起,我的天真)

4

3 回答 3

0

请按照以下步骤升级 SonarQube。

  1. 停止 SonarQube 服务器
  2. 在新目录中下载并解压缩新的 SonarQube 发行版,假设为 NEW_SONARQUBE_HOME。
  3. 使用 OLD_SONARQUBE_HOME/conf 目录中相关文件的内容(Web 服务器 URL、数据库设置等)更新位于 NEW_SONARQUBE_HOME/conf 目录中的 sonar.properties 和 wrapper.conf 文件的内容。不要复制粘贴旧文件。
  4. 将 OLD_SONARQUBE_HOME/extensions/plugins 目录复制到 NEW_SONARQUBE_HOME/extensions/plugins。(警告)检查插件兼容性的兼容性矩阵并在必要时手动升级插件:. 5.如果使用自定义的JDBC驱动,复制到NEW_SONARQUBE_HOME/extensions/jdbc-driver/。(警告)备份您的数据库。(警告)如果 data 下存在 es 目录,请删除 es 目录(如果按照上面的步骤 3,则不应存在这样的目录)。
  5. 启动网络服务器
  6. 浏览到http://localhost:9000/setup(用您自己的 URL 替换“localhost:9000”)并按照设置说明进行操作。
  7. 分析您的项目以获得新的措施。
于 2015-07-10T05:29:21.517 回答
0

这对我们不起作用:我已将 SonarQube 升级到 5.1.2。它适用于 FindBugs 3.2,但是当我尝试将 FindBugs 升级到 FindBugs 3.3(sonar-findbugs-plugin-3.3.jar 或 sonar-findbugs-plugin-3.3.2.jar)时,它失败并出现同样的错误。

2015.09.21 10:40:14 ERROR web[o.a.c.c.C.[.[.[/]] Exception sending context initialized event to listener instance of class org.sonar.server.platform.PlatformServletContextListener
java.lang.NoClassDefFoundError: com/thoughtworks/xstream/XStream
    at org.sonar.plugins.findbugs.xml.FindBugsFilter.createXStream(FindBugsFilter.java:157) ~[na:na]
    at org.sonar.plugins.findbugs.FindbugsProfileImporter.importProfile(FindbugsProfileImporter.java:55) ~[na:na]
    at org.sonar.plugins.findbugs.SonarWayWithFindbugsProfile.createProfile(SonarWayWithFindbugsProfile.java:42) ~[na:na]
于 2015-09-21T08:55:23.547 回答
0

问题是sonar-findbugs-plugin依赖于xstream jar 直到声纳版本 < 5.0 是由sonar-plugin-api. 如SONAR-4118所示,此依赖项已从sonar-plugin-api5.0 版中删除。

然而,这只是在sonar-findbugs-plugin确保它明确声明其对模块的依赖之后才执行的xstream(因此它现在将其打包在自己的 jar 中)。这是由SONARFBUGS-9处理的,它现在在sonar-findbugs-plugin2.4 中可用。

鉴于此,您必须将您sonar-findbugs-plugin的至少升级到2.4并确保您也升级sonar-java-plugin2.4,因为 findbugs 2.4 似乎需要它(否则 findbugs 会抛出一个异常,说明它需要它)。

这应该可以解决 findbugs 插件在尝试实例化 XStream 对象时引发的错误

于 2015-07-20T17:45:19.043 回答