2015-08-07 10 views
8

Sto cercando di ottenere un rapporto sonar per uno dei miei progetti.Errore del test case nel sonar

Ho eseguito mvn clean install

Running blah.blah.BlahTest1 
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.016 sec 
Running blah.blah.BlahTest2 
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.078 sec 

Quando eseguo mvn sonar:sonar ottengo l'errore sotto.

[INFO] ------------------------------------------------------------------------ 
[INFO] Building Component name 
[INFO] task-segment: [org.apache.maven.plugins:maven-surefire-plugin:2.4.3:test] 
[INFO] ------------------------------------------------------------------------ 
[INFO] [surefire:test {execution: default-cli}] 
[INFO] Surefire report directory: D:\CodeBase\Project\module\target\surefire-reports 
java.lang.NoClassDefFoundError: null 
Caused by: java.lang.ClassNotFoundException: null 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 
Could not find the main class: null. Program will exit. 
Exception in thread "main" 
[ERROR] There are test failures. 

Non so da dove cominciare a cercare. Ho provato a cercare in google non ho trovato nulla di simile al mio problema.

Per favore aiutami a capire quale può essere una possibile causa da cercare.

Grazie.

Aggiunta di file pom: alcuni dettagli rimosso per ridurre il file

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <!--============================================================= --> 
    <!--The Basics --> 
    <!--============================================================= --> 
    <groupId>###</groupId> 
    <artifactId>###</artifactId> 
    <packaging>pom</packaging> 
    <version>###</version> 
    <url>###</url> 
    <!--============================================================= --> 
    <!--Project Information --> 
    <!--============================================================= --> 

    <!--============================================================= --> 
    <!--Properties --> 
    <!--============================================================= --> 
    <properties> 
     <!--general properties --> 
     <svn-base-url>###</svn-base-url> 

     <!--versions of 3rd party libraries --> 

     <!--plug in versions --> 
     <version.jacoco.plugin>0.7.4.201502262128</version.jacoco.plugin> 
    </properties> 
    <scm> 

    </scm> 
    <!--============================================================= --> 
    <!--Modules --> 
    <!--============================================================= --> 
    <modules> 
    </modules> 
    <!--============================================================= --> 
    <!--Distribution Management --> 
    <!--============================================================= --> 
    <distributionManagement> 
    </distributionManagement> 

    <!--============================================================= --> 
    <!--Plugin Repository --> 
    <!--============================================================= --> 
    <pluginRepositories> 
    </pluginRepositories> 
    <!--============================================================= --> 
    <!--Dependency Management --> 
    <!--============================================================= --> 
    <dependencyManagement> 
    <!--3rd part libraries --> 
    </dependencyManagement> 
    <!--============================================================= --> 
    <!--Dependencies --> 
    <!--============================================================= --> 
    <dependencies> 
    </dependencies> 
    <!--============================================================= --> 
    <!--Build Information --> 
    <!--============================================================= --> 
    <build> 
     <resources> 
      <resource> 
       <directory>src/main/resources</directory> 
       <excludes> 
        <exclude>**/*</exclude> 
       </excludes> 
      </resource> 
     </resources> 
     <pluginManagement> 
      <plugins> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-clean-plugin</artifactId> 
        <version>${version.clean.plugin}</version> 
       </plugin> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-compiler-plugin</artifactId> 
        <version>${version.compiler.plugin}</version> 
        <configuration> 
         <source>1.6</source> 
         <target>1.6</target> 
         <fork>true</fork> 
         <meminitial>128m</meminitial> 
         <maxmem>512m</maxmem> 
         <compilerArgument>-Xlint:-serial -Xmaxwarns 9999 -Xmaxerrs 9999</compilerArgument> 
        </configuration> 
       </plugin> 
       <plugin> 
        <groupId>org.jacoco</groupId> 
        <artifactId>jacoco-maven-plugin</artifactId> 
        <version>${version.jacoco.plugin}</version> 
        <configuration> 
        <append>true</append> 
        <destFile>target/coverage-reports/jacoco-unit.exec</destFile> 
        <dataFile>target/coverage-reports/jacoco-unit.exec</dataFile> 
        <includes> 
         <include>path</include> 
        </includes> 
        </configuration> 
        <executions> 
        <execution> 
         <id>prepare-agent</id> 
         <goals> 
         <goal>prepare-agent</goal> 
         </goals> 
        </execution> 
        <execution> 
         <id>report</id> 
         <phase>prepare-package</phase> 
         <goals> 
         <goal>report</goal> 
         </goals> 
        </execution> 
        </executions> 
       </plugin> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-surefire-plugin</artifactId> 
        <version>${version.surefire.plugin}</version> 
       </plugin> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-enforcer-plugin</artifactId> 
        <version>${version.enforcer.plugin}</version> 
        <configuration> 
         <rules> 
          <requireJavaVersion> 
           <version>1.6</version> 
          </requireJavaVersion> 
          <requireMavenVersion> 
           <version>2.2.0</version> 
          </requireMavenVersion> 
         </rules> 
        </configuration> 
       </plugin> 
       <plugin> 
        <groupId>org.codehaus.mojo</groupId> 
        <artifactId>versions-maven-plugin</artifactId> 
        <version>${version.versions.plugin}</version> 
       </plugin> 
       <plugin> 
        <artifactId>maven-assembly-plugin</artifactId> 
        <version>${version.assembly.plugin}</version> 
        <configuration> 
         <descriptors> 
          <!-- descriptors --> 
         </descriptors> 
        </configuration> 
        <executions> 
         <execution> 
          <id>make-assembly</id> 
          <phase>package</phase> 
          <goals> 
           <goal>single</goal> 
          </goals> 
         </execution> 
        </executions> 
       </plugin> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-release-plugin</artifactId> 
        <version>${version.release.plugin}</version> 
        <configuration> 
         <goals>deploy</goals> 
        </configuration> 
       </plugin> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-resources-plugin</artifactId> 
        <version>${version.resources.plugin}</version> 
       </plugin> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-install-plugin</artifactId> 
        <version>${version.install.plugin}</version> 
       </plugin> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-site-plugin</artifactId> 
        <version>${version.site.plugin}</version> 
       </plugin> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-jxr-plugin</artifactId> 
        <version>${version.jxr.plugin}</version> 
       </plugin> 
       <plugin> 
        <groupId>org.codehaus.mojo</groupId> 
        <artifactId>cobertura-maven-plugin</artifactId> 
        <version>${version.cobertura.plugin}</version> 
        <configuration> 
         <formats> 
          <format>xml</format> 
         </formats> 
         <instrumentation> 
          <!--Include and exclude --> 
         </instrumentation> 
         <maxmem>512M</maxmem> 
        </configuration> 
        <executions> 
         <execution> 
          <id>clean</id> 
          <phase>pre-site</phase> 
          <goals> 
           <goal>clean</goal> 
          </goals> 
         </execution> 
         <execution> 
          <id>instrument</id> 
          <phase>package</phase> 
          <goals> 
           <goal>cobertura</goal> 
          </goals> 
         </execution> 
        </executions> 
       </plugin> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-pmd-plugin</artifactId> 
        <version>${version.pmd.plugin}</version> 
       </plugin> 
       <plugin> 
        <groupId>org.codehaus.mojo</groupId> 
        <artifactId>findbugs-maven-plugin</artifactId> 
        <version>${version.findbugs.plugin}</version> 
       </plugin> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-checkstyle-plugin</artifactId> 
        <version>${version.checkstyle.plugin}</version> 
       </plugin> 
       <plugin> 
        <groupId>org.codehaus.mojo</groupId> 
        <artifactId>dashboard-maven-plugin</artifactId> 
        <version>${version.dashboard.plugin}</version> 
       </plugin> 
       <plugin> 
        <groupId>org.codehaus.mojo</groupId> 
        <artifactId>build-helper-maven-plugin</artifactId> 
        <version>${version.buildhelper.plugin}</version> 
       </plugin> 
       <plugin> 
        <groupId>org.jvnet.jaxb2.maven2</groupId> 
        <artifactId>maven-jaxb2-plugin</artifactId> 
        <version>${version.jaxb2.plugin}</version> 
       </plugin> 
       <plugin> 
        <groupId>org.codehaus.mojo</groupId> 
        <artifactId>taglist-maven-plugin</artifactId> 
        <version>${version.taglist.plugin}</version> 
       </plugin> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-changelog-plugin</artifactId> 
        <version>${version.changelog.plugin}</version> 
       </plugin> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-scm-plugin</artifactId> 
        <version>1.2</version> 
        <configuration> 
         <connectionType>developerConnection</connectionType> 
        </configuration> 
       </plugin> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-jar-plugin</artifactId> 
        <version>${version.jar.plugin}</version> 
        <configuration> 
         <archive> 
          <manifest> 
           <addDefaultImplementationEntries>true</addDefaultImplementationEntries> 
           <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> 
          </manifest> 
         </archive> 
        </configuration> 
       </plugin> 
       <plugin> 
        <groupId>org.codehaus.mojo</groupId> 
        <artifactId>exec-maven-plugin</artifactId> 
        <version>${version.exec-maven.plugin}</version> 
       </plugin> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-antrun-plugin</artifactId> 
        <version>${version.antrun.plugin}</version> 
       </plugin> 
      </plugins> 
     </pluginManagement> 
     <plugins> 
      <plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>build-helper-maven-plugin</artifactId> 
       <executions> 
        <execution> 
         <id>remove-project-artifact</id> 
         <phase>clean</phase> 
         <goals> 
          <goal>remove-project-artifact</goal> 
         </goals> 
         <configuration> 
          <removeAll>false</removeAll> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
      <plugin> 
       <groupId>org.jacoco</groupId> 
       <artifactId>jacoco-maven-plugin</artifactId> 
      </plugin> 
       <!-- Need the argLine in the configuration here otherwise jacoco hook into surefire correctly for unit test coverage --> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-surefire-plugin</artifactId> 
       <configuration> 
        <forkMode>once</forkMode> 
        <argLine>${argLine} -XX:MaxPermSize=256M -Xmx892M -client</argLine> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build>  
</project> 
+0

Vorrei iniziare con l'aggiornamento della versione plug-infallibile. L'ultimo è 2.18.1, quindi 2.4.3 è antico. Inoltre, assicurati di utilizzare Maven 3. – user944849

+0

@ user944849: Non posso farci molto. Cambiare la versione sarebbe l'ultima risorsa. – NewUser

+0

Aspetta, perché non puoi aggiornare la versione del plugin? Sicuramente questo sarebbe l'approccio più semplice a questo problema che potrebbe benissimo essere collegato a un bug in una versione specifica. – Makoto

risposta

2

Io non sono un esperto di Maven, anche se ma, ho implementazione in cui, durante il ciclo di vita Maven, eseguo alcuni dei JUnità per trovare la copertura del codice e il sonar, naturalmente. Sto attaccando il mio pom. Forse questo aiuta.

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
<modelVersion>4.0.0</modelVersion> 

<!-- Project Parent POM --> 
<parent> 
    <groupId>XXX</groupId> 
    <artifactId>XXX</artifactId> 
    <version>2.0</version> 
</parent> 

<!-- Artifacts for the WAR --> 
<groupId>XXX</groupId> 
<artifactId>XXX</artifactId> 
<packaging>war</packaging> 
<version>0.1</version> 
<name>XXX</name> 

<build> 
    <pluginManagement> 
     <plugins> 
      <plugin> 
       <groupId>org.jacoco</groupId> 
       <artifactId>jacoco-maven-plugin</artifactId> 
       <version>0.5.3.201107060350</version> 
      </plugin> 
     </plugins> 
    </pluginManagement> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-resources-plugin</artifactId> 
      <executions> 
       <execution> 
        ... 
       </execution> 
      </executions> 
     </plugin> 
     <plugin> 
      <groupId>org.jacoco</groupId> 
      <artifactId>jacoco-maven-plugin</artifactId> 
      <configuration> 
       <destFile>${sonar.jacoco.itReportPath}</destFile> 
      </configuration> 
      <executions> 
       <execution> 
        <id>pre-test</id> 
        <goals> 
         <goal>prepare-agent</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <version>2.17</version> 
      <dependencies> 
       <dependency> 
        <groupId>org.apache.maven.surefire</groupId> 
        <artifactId>surefire-junit47</artifactId> 
        <version>2.17</version> 
       </dependency> 
      </dependencies> 
      <configuration> 
       <argLine> 
        ${argLine} -DAdditional Arguments 
       </argLine> 
       <includes> 
        <include>**/TestSuite.java</include> 
       </includes> 
       <skipTests>false</skipTests> 
       <forkCount>1</forkCount> 
       <reuseForks>true</reuseForks> 
       <executions> 
        <execution> 
         <id>test</id> 
         <phase>test</phase> 
         <goals> 
          <goal>test</goal> 
         </goals> 
        </execution> 
       </executions> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-deploy-plugin</artifactId> 
      <configuration> 
       <skip>false</skip> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 


<dependencies> 
    <!--Dependencies --> 
</dependencies> 

<!-- Properties of the dependencies defined above --> 
<properties> 
    <!-- Versions --> 

    <!-- Sonar Properties --> 
    <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin> 
    <sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis> 
    <sonar.jacoco.itReportPath>${project.basedir}/target/jacoco-it.exec</sonar.jacoco.itReportPath> 
    <sonar.language>java</sonar.language> 
</properties> 

Problemi correlati