plugins - SonarQube 在插件开发期间无法重新启动

标签 plugins sonarqube

我正在为 SonarQube 4.5.4/5.0.1 开发一个插件。我想使用sonar-dev上传 JAR 文件并快速重启 SQ 服务器的插件。插件使用 REST API (/api/system/restart),可通过设置 sonar.dev=true 属性来启用。

这是配置:

<plugin>
    <groupId>org.codehaus.sonar</groupId>
    <artifactId>sonar-dev-maven-plugin</artifactId>
    <version>1.8</version>
    <configuration>
        <sonarHome>F:\sonarqube-5.1\sonarqube-5.1</sonarHome>
    </configuration>
</plugin>

问题是服务器在每次尝试重新启动后都会崩溃,我必须手动重新启动它,这令人沮丧并耗尽了我的工作效率。这是“重新启动”后每个后续请求返回的堆栈跟踪。

org.jruby.exceptions.RaiseException: (NoMethodError) undefined method `controllers' for nil:NilClass
    at org.jruby.RubyKernel.method_missing(org/jruby/RubyKernel.java:255)
    at RUBY.method_missing(F:/sonarqube-5.1/sonarqube-5.1/web/WEB-INF/gems/gems/activesupport-2.3.15/lib/active_support/whiny_nil.rb:52)
    at RUBY.add_java_ws_routes(F:/sonarqube-5.1/sonarqube-5.1/web/WEB-INF/config/../lib/java_ws_routing.rb:34)
    at RUBY.reload(F:/sonarqube-5.1/sonarqube-5.1/web/WEB-INF/config/../lib/java_ws_routing.rb:58)
    at RUBY.reload_application(F:/sonarqube-5.1/sonarqube-5.1/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/dispatcher.rb:58)
    at RUBY.run(F:/sonarqube-5.1/sonarqube-5.1/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/reloader.rb:42)
    at RUBY.call(F:/sonarqube-5.1/sonarqube-5.1/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/dispatcher.rb:108)
    at RUBY.serve_rails(file:/F:/sonarqube-5.1/sonarqube-5.1/lib/server/jruby-rack-1.1.13.2.jar!/rack/adapter/rails.rb:34)
    at RUBY.call(file:/F:/sonarqube-5.1/sonarqube-5.1/lib/server/jruby-rack-1.1.13.2.jar!/rack/adapter/rails.rb:39)
    at RUBY.call(file:/F:/sonarqube-5.1/sonarqube-5.1/lib/server/jruby-rack-1.1.13.2.jar!/rack/handler/servlet.rb:22)

And here's what happens in logs 从第 71 行开始。

根据@Simon Brandhof ,它可能与类加载器连接,锁定文件。任何线索或解决方法将不胜感激。

最佳答案

Java 插件似乎锁定了它的类加载器。通过删除 extensions/plugins/sonar-java-plugin-3.0.jar 来卸载它,应该可以解决该问题。

关于plugins - SonarQube 在插件开发期间无法重新启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30437539/

相关文章:

plugins - JetBrains IDE 插件库的 URL 是什么?

scala - 如何从编译器插件中找到 Scala 程序中的语句?

javascript - 如何通过 jQuery 在元素前插入复选框

java - SonarLint 插件在 Eclipse Oxygen 中不起作用

java - Sonar 死存储到局部变量

java - 构造函数注入(inject)与字段注入(inject)

java - 显示 http ://localhost:9000 can not be reached 的 Sonar 转轮

javascript - Windows 7 中的 NPAPI 插件问题

c# - 带有 MEF 的 ASP.NET MVC4 : Requests to MEF Controllers Processed Serially

javascript - 使用带快照的 ESLint 进行静态分析