2014-01-23 18 views
0

我的内部版本最近在尝试完成时开始失败mvn clean install我之前没有注意到,因为它在eclipse中构建并执行junit测试。有关下面错误的原因的任何想法?Maven集成测试失败:includes0具有空值

Maven的日志片断:

[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 4.979s 
[INFO] Finished at: Thu Jan 23 09:13:43 GMT 2014 
[INFO] Final Memory: 25M/220M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-failsafe-plugin:2.11:integration-test (failsafe-integration-tests) on project ThinkFinance: Execution failsafe-integration-tests of goal org.apache.maven.plugins:maven-failsafe-plugin:2.11:integration-test failed: includes0 has null value -> [Help 1] 
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-failsafe-plugin:2.11:integration-test (failsafe-integration-tests) on project ThinkFinance: Execution failsafe-integration-tests of goal org.apache.maven.plugins:maven-failsafe-plugin:2.11:integration-test failed: includes0 has null value 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:225) 
    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:320) 
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) 
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) 
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) 
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) 
    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:290) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) 
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution failsafe-integration-tests of goal org.apache.maven.plugins:maven-failsafe-plugin:2.11:integration-test failed: includes0 has null value 
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:110) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) 
    ... 19 more 
Caused by: java.lang.NullPointerException: includes0 has null value 
    at org.apache.maven.surefire.booter.PropertiesWrapper.addList(PropertiesWrapper.java:172) 
    at org.apache.maven.plugin.surefire.booterclient.BooterSerializer.serialize(BooterSerializer.java:95) 
    at org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:147) 
    at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:100) 
    at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeProvider(AbstractSurefireMojo.java:199) 
    at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAllProviders(AbstractSurefireMojo.java:176) 
    at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked(AbstractSurefireMojo.java:134) 
    at org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute(AbstractSurefireMojo.java:97) 
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) 
    ... 20 more 
[ERROR] 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException 

的pom.xml:

<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> 

    <groupId>My Company2</groupId> 
    <version>1.0.0</version> 
    <artifactId>MyCompany</artifactId> 
    <packaging>jar</packaging> 

    <name>MyCompany</name> 
    <url>http://www.example.com</url> 

    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 
    <profiles> 
     <profile> 
      <id>parallel</id> 
      <properties> 
       <include.tests>**/ParallelRunners/*Tests.java</include.tests> 
       <junit.threadCount>15</junit.threadCount> 
       <junit.parallel>classes</junit.parallel> 
      </properties> 
     </profile> 
     <profile> 
      <id>allTestsSequential</id> 
      <properties> 
       <include.tests> 
        **/P0Regression.java 
       </include.tests> 
      </properties> 
     </profile> 
     <profile> 
      <id>smoke</id> 
      <properties> 
       <include.tests> 
        **/RunSmokeTests.java 
       </include.tests> 
      </properties> 
     </profile> 
     <profile> 
      <id>ThisTest</id> 
      <properties> 
       <include.tests> 
        **/RunThisTest.java 
       </include.tests> 
      </properties> 
     </profile> 
     <profile> 
      <id>All</id> 
      <properties> 
       <include.tests> 
        **/All.java 
       </include.tests> 
      </properties> 
     </profile> 
     <profile> 
      <id>clearWebserverCache</id> 
      <properties> 
       <include.tests> 
        **/clearWebserverCache.java 
       </include.tests> 
      </properties> 
     </profile> 
    </profiles> 
    <dependencies> 
     <dependency> 
      <groupId>My Company2</groupId> 
      <artifactId>SeleniumFrameworkCore</artifactId> 
      <version>1.0.0</version> 
     </dependency> 
     <dependency> 
      <groupId>net.masterthought</groupId> 
      <artifactId>cucumber-reporting</artifactId> 
      <version>0.0.21</version> 
     </dependency> 
     <dependency> 
      <groupId>com.jcraft</groupId> 
      <artifactId>jsch</artifactId> 
      <version>0.1.29</version> 
     </dependency> 
     <dependency> 
      <groupId>mysql</groupId> 
      <artifactId>mysql-connector-java</artifactId> 
      <version>5.1.18</version> 
     </dependency> 
     <!-- these 2 are needed for communicating wih a REST API usin JSON Strings as the data interchange format. 
     It might eventually make sense to move this to a seperate core project --> 
     <dependency> 
      <groupId>org.apache.httpcomponents</groupId> 
      <artifactId>httpclient</artifactId> 
      <version>4.2.6</version> 
     </dependency> 
     <dependency> 
      <groupId>com.googlecode.json-simple</groupId> 
      <artifactId>json-simple</artifactId> 
      <version>1.1.1</version> 
     </dependency>  
    </dependencies> 
    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.0</version> 
       <configuration> 
        <source>1.7</source> 
        <target>1.7</target> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-failsafe-plugin</artifactId> 
       <version>2.11</version> 
       <configuration> 
        <perCoreThreadCount>false</perCoreThreadCount> 
        <threadCount>${junit.threadCount}</threadCount> 
        <parallel>${junit.parallel}</parallel> 
        <includes> 
         <include>${include.tests}</include> 
        </includes> 
       </configuration> 
       <executions> 

        <execution> 
         <id>failsafe-integration-tests</id> 
         <phase>integration-test</phase> 
         <goals> 
          <goal>integration-test</goal> 
         </goals> 
        </execution> 
        <!-- DisABLED FAILSAFE VERIFY WHILE TESTING POSH REPORTER 
        <execution> 
         <id>failsafe-verify</id> 
         <phase>verify</phase> 
         <goals> 
          <goal>verify</goal> 
         </goals> 
        </execution> 
        --> 
       </executions> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-surefire-plugin</artifactId> 
       <version>2.14</version> 
       <configuration> 
        <!-- Disable unit tests --> 
        <skip>true</skip> 
       </configuration> 
      </plugin> 
       <plugin> 
        <groupId>My Company2</groupId> 
        <artifactId>posh-cucumber-reporter-mojo</artifactId> 
        <version>0.0.1</version> 
        <executions> 
         <execution> 
          <id>execution</id> 
          <phase>verify</phase> 
          <goals> 
           <goal>generate</goal> 
          </goals> 
          <configuration> 
           <projectName>My Company Smoke Tests </projectName> 
           <outputDirectory>${project.build.directory}/cucumber-html-reports</outputDirectory> 
           <jsonLocation>${project.build.directory}/JSON/</jsonLocation> 
           <buildNumber>RC_2014_01_21_1 Revision: 27309 on QA 64</buildNumber> 
           <enableFlashCharts>true</enableFlashCharts> 
           <skippedFails>true</skippedFails> 
           <undefinedFails>true</undefinedFails> 
          </configuration> 
         </execution> 
        </executions> 
       </plugin> 
     </plugins> 
    </build> 

    <reporting> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-project-info-reports-plugin</artifactId> 
       <version>2.6</version> 
       <configuration> 
        <dependencyLocationsEnabled>false</dependencyLocationsEnabled> 
       </configuration> 
       <!-- Only generate project reports --> 
       <reportSets> 
        <reportSet> 
         <reports> 
         </reports> 
        </reportSet> 
       </reportSets> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-jxr-plugin</artifactId> 
       <version>2.3</version> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-surefire-report-plugin</artifactId> 
       <version>2.14</version> 
       <reportSets> 
        <reportSet> 
         <reports> 
          <report>failsafe-report-only</report> 
         </reports> 
        </reportSet> 
       </reportSets> 
      </plugin> 
      <plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>findbugs-maven-plugin</artifactId> 
       <version>2.5.2</version> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-pmd-plugin</artifactId> 
       <version>3.0</version> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-checkstyle-plugin</artifactId> 
       <version>2.10</version> 
       <configuration> 
        <configLocation>CheckStyle.xml</configLocation> 
       </configuration> 
      </plugin> 
       <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-javadoc-plugin</artifactId> 
       <version>2.9.1</version> 
       <configuration> 
        <groups> 
        <group> 
         <title>Test Step Documentation</title> 
         <!-- 
         Include packages: 
         MyApp.StepDefinitions 
         and all subpackages 
         --> 
         <packages>MyApp.StepDefinitions*</packages> 
        </group> 
        <group> 
         <title>MyApp Documentation</title> 
         <packages>MyApp*</packages> 
        </group> 
        </groups>   
       </configuration> 
       </plugin>   
     </plugins> 
    </reporting> 

</project> 
+0

你能显示你的pom文件吗? – khmarbaise

+0

用pom.xml更新 – shreyansp

+1

它看起来像没有配置文件激活maven-failsafe的执行中的属性是空的...只是尝试激活其中一个配置文件。 – khmarbaise

回答

1

什么是为include.test属性的值?难道它没有正确设置,即它会是null就像错误消息说的那样?

<includes> 
    <include>${include.tests}</include> 
</includes> 

尝试运行mvn -Dinclude.test=A,看看错误消息的变化(不应该”是一个NullpointerExcpetion至少。

0

感谢您的建议每一个人。我跑MVN干净,然后一个轮廓,这做的伎俩。

call mvn clean 
call mvn -Psmoke verify -e -fae 

注:mvn clean install仍然给构建失败,我认为这可能是一个单独的问题:什么是mvn install的宗旨,做我甚至需要它