maven - सोनाक्यूबे में त्रुटि जब svn दोष का शुभारंभ




sonarqube sonarqube-5.0 (4)

कृपया जांचें कि सोनारक्यूब की प्रक्रिया में एक ही परिवेश चर है, क्योंकि आप परीक्षण के लिए उपयोग कर रहे हैं।

मैंने हाल ही में 4.5.5 से 5.0.1 तक अपने सोनारक्यूब सर्वर को उन्नत किया है, फिर 5.1 से (नीचे संपादित करें देखें)।

अचानक, एक मल्टी मॉड्यूल मैवेन परियोजना का विश्लेषण निम्न त्रुटि के साथ विफल हुआ:

[INFO] [12:02:05.045] Sensor SCM Sensor...
[INFO] [12:02:05.169] SCM provider for this project is: svn
[INFO] [12:02:05.169] Retrieve SCM blame information...
[INFO] [12:02:05.185] 650 files to be analyzed
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] myproject ......................................... FAILURE [3:21.165s]
[INFO] module1 ........................................... SKIPPED
[INFO] module2 ........................................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2:42.429s
[INFO] Finished at: Thu Feb 26 11:30:01 CET 2015
[INFO] Final Memory: 73M/2020M
[DEBUG] [11:30:01.789] Executing: svn blame --xml --non-interactive -x -w src/main/java/MyClass.java
[ERROR] Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.5:sonar (default-cli) on project myproject: java.io.IOException: Cannot run progra
m "svn" (in directory "C:\somedirectory\module1"): CreateProcess error=2, The system cannot find the file specified
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoExecutionException: java.io.IOException: Cannot run program "svn" (in directory "C:\somedirectory\module1"): CreateProcess error=2, The system cannot find the file specified
        at org.codehaus.mojo.sonar.bootstrap.ExceptionHandling.handle(ExceptionHandling.java:41)
        at org.codehaus.mojo.sonar.bootstrap.RunnerBootstraper.execute(RunnerBootstraper.java:139)
        at org.codehaus.mojo.sonar.SonarMojo.execute(SonarMojo.java:138)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
        ... 19 more

किसी भी तरह, कमांड svn को फ़ाइल src/main/java/MyClass.java C:\somedirectory\module1 निर्देशिका C:\somedirectory\module1 , हालांकि उस फ़ाइल निश्चित रूप से वहाँ है यदि मैं कमांड प्रॉम्प्ट को कॉपी-पेस्ट करता हूं तो कमांड प्रॉम्प्ट svn blame --xml --non-interactive -x -w src/main/java/MyClass.java C:\somedirectory\module1 निर्देशिका C:\somedirectory\module1 में चलाने की कोशिश कर रहा C:\somedirectory\module1 तब कमांड ठीक काम कर रहा है

svn कमांड पाथ पर सही है, जैसा कि सोनरक््यूब सर्वर में "सिस्टम जानकारी" पृष्ठ पर "पुस्तकालय पथ" फ़ील्ड में देखा जा सकता है सोनारक्यूबे सर्वर उसी सर्वर पर होस्ट किया गया है जहां mvn sonar:sonar को मार डाला गया था (विंडोज सर्वर 2008 आर 2)।

एसओवीएन को दोष इतिहास प्राप्त करने के लिए सोनारक्यूब द्वारा लॉन्च किया जा रहा है। जैसा कि मैं समझता हूं, एसओसी समर्थन (अंतर्निहित में बदलाव) के संबंध में सोनरक्यूब 5.0 में कुछ बदलाव किए गए थे । अब मेरा कामकाज सोनारक्यूब में एससीएम संवेदक को निष्क्रिय करना है ("सेटिंग्स> सामान्य सेटिंग्स> एससीएम" के अंतर्गत- सोनसर्यूबेक सर्वर में -Dsonar.scm.disabled=true या directly) का उपयोग करना।

यह इस प्रश्न से संबंधित नहीं है क्योंकि जब मैंने सोनाआरक्यूब 5.0.1 में अपग्रेड किया तो केवल उस व्यवहार का सामना किया।

जेआरई का प्रयोग किया गया: 1.7.0_51 (64 बिट)

संपादित करें:

SonarQube 5.1 में नवीनीकरण के बाद, त्रुटि अभी भी यहाँ है लेकिन संदेश अलग और अधिक स्पष्ट है। मैंने एक एसवीएन ग्राहक (टॉर्टोइज़एसवीएन) को पुनः स्थापित किया है और जेनकिंस और सोनारक्यूब दोनों को पुनरारंभ किया है लेकिन त्रुटि रहता है:

एससीएम प्रदाता "svn" पर सेट था लेकिन इस कुंजी के लिए कोई एससीएम प्रदाता नहीं मिला। कोई एससीएम प्रदाता स्थापित नहीं है

[ERROR] Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.5:sonar (default-cli) on project bombardier: SCM provider was set to "svn" but no SCM provider found for this key. No SCM provider installed -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.5:sonar (default-cli) on project bombardier: SCM provider was set to "svn" but no SCM provider found for this key. No SCM provider installed
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoExecutionException: SCM provider was set to "svn" but no SCM provider found for this key. No SCM provider installed
    at org.codehaus.mojo.sonar.bootstrap.ExceptionHandling.handle(ExceptionHandling.java:41)
    at org.codehaus.mojo.sonar.bootstrap.RunnerBootstraper.execute(RunnerBootstraper.java:139)
    at org.codehaus.mojo.sonar.SonarMojo.execute(SonarMojo.java:138)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
    ... 19 more
Caused by: java.lang.IllegalArgumentException: SCM provider was set to "svn" but no SCM provider found for this key. No SCM provider installed
    at org.sonar.batch.scm.ScmConfiguration.setProviderIfSupported(ScmConfiguration.java:123)
    at org.sonar.batch.scm.ScmConfiguration.considerOldScmUrl(ScmConfiguration.java:133)
    at org.sonar.batch.scm.ScmConfiguration.start(ScmConfiguration.java:109)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.invokeMethod(ReflectionLifecycleStrategy.java:110)
    at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.start(ReflectionLifecycleStrategy.java:89)
    at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.start(AbstractInjectionFactory.java:84)
    at org.picocontainer.behaviors.AbstractBehavior.start(AbstractBehavior.java:169)
    at org.picocontainer.behaviors.Stored$RealComponentLifecycle.start(Stored.java:132)
    at org.picocontainer.behaviors.Stored.start(Stored.java:110)
    at org.picocontainer.DefaultPicoContainer.potentiallyStartAdapter(DefaultPicoContainer.java:1015)
    at org.picocontainer.DefaultPicoContainer.startAdapters(DefaultPicoContainer.java:1008)
    at org.picocontainer.DefaultPicoContainer.start(DefaultPicoContainer.java:766)
    at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:91)
    at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77)
    at org.sonar.batch.scan.ScanTask.scan(ScanTask.java:57)
    at org.sonar.batch.scan.ScanTask.execute(ScanTask.java:45)
    at org.sonar.batch.bootstrap.TaskContainer.doAfterStart(TaskContainer.java:135)
    at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:92)
    at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77)
    at org.sonar.batch.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:158)
    at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:95)
    at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:67)
    at org.sonar.runner.batch.IsolatedLauncher.execute(IsolatedLauncher.java:48)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:87)
    at org.sonar.runner.impl.BatchLauncher$1.run(BatchLauncher.java:75)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69)
    at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50)
    at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:102)
    at org.sonar.runner.api.Runner.execute(Runner.java:100)
    at org.codehaus.mojo.sonar.bootstrap.RunnerBootstraper.execute(RunnerBootstraper.java:135)
    ... 22 more

मैंने अभी एक Redhat Linux मशीन पर SonarQube 5.0.1 स्थापित किया है और मुझे वास्तव में एक ही समस्या है।

Scm stats प्लगइन अक्षम करने के बजाय, मैंने एक svn क्लाइंट (svnkit.x86_64) को स्थापित किया है और एसक्यूएम सक्रिय के साथ बिल्ड को सफलतापूर्वक निष्पादित किया गया है। इसलिए मुझे लगता है कि विंडोज़ पर, आपको एक एसवीएन क्लाइंट स्थापित करना चाहिए और इसे पैथ पर डाल देना चाहिए।


इस मुद्दे को दो तरह से हल किया जा सकता है,
1. सोनार की स्थापना करके। प्रॉपर्टी- Dsonar.scm.disabled = यह सच है, यह सिर्फ sonarrunner.bat सोनार विश्लेषण के लिए मान्य है,
2. यदि आप किसी भी अन्य प्रकार के विश्लेषण का उपयोग कर रहे हैं तो व्यवस्थापक डिफ़ॉल्ट व्यवस्थापक के साथ लॉगिन व्यवस्थापक / व्यवस्थापक (उपयोगकर्ता नाम / पासवर्ड) है। http: // yourDomin: port / settings / index (उदाहरण के लिए http: // localhost: 9000 / settings / index ) तो श्रेणी में scm का चयन करें और scm सेंसर सेट को सही के रूप में सेट करें।
3. या फिर आप एसडीएन प्लगइन को सोनार http: // your_domain: port / updatecenter / admin (admin / admin) के रूप में लॉगिन के बाद उपलब्ध कर सकते हैं, उपलब्ध प्लगइन की खोज करें और एसवीएन का चयन करें और इसे इंस्टॉल करें ..


नीचे दिए गए आदेश का उपयोग करें जो कि svn संबंधित मुद्दों को अक्षम करेगा

-Dsonar.scm.disabled=True

यह svn को अक्षम करेगा





sonarqube5.1