SonarQube не удается перезапустить во время разработки плагина

Я разрабатываю плагин для SonarQube 4.5.4 / 5.0.1. Я хотел бы использовать сонар-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.1sonarqube-5.1</sonarHome>
    </configuration>
</plugin>

проблема в том, что сервер падает после каждой попытки перезапуска, и я должен перезапустить его вручную, что расстраивает и истощает мою производительность. Вот stacktrace, который возвращается на каждом следующий запрос после "перезапуска".

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)

и вот что происходит в логах начиная с строки 71.

по данным @Simon Brandhof, это может быть связано с загрузчиком класса, который блокирует файлы. Любая подсказка или обходной путь будут высоко оценены.

1 ответов


плагин Java, похоже, блокирует свой загрузчик классов. Удалите его, удалив extensions/plugins/sonar-java-plugin-3.0.jar, должен устранить проблему.