2017-03-10 128 views
2

当我跑我的服务器生命周期的命令install我收到以下错误:Maven的春季启动预集成测试超时错误

[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 34.507 s 
[INFO] Finished at: 2017-03-10T15:32:41+01:00 
[INFO] Final Memory: 69M/596M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.4.0.RELEASE:start (pre-integration-test) on project challenger-server-boot: Spring application did not start before the configured timeout (30000ms -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[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/MojoExecutionException 

这显然来自于超时设置,但我无法找到我哪里有修改这个值...

不知道是否可以帮助,但这里的一些我的pom.xml有关单位和集成testings的:

<!-- Unit testing --> 
    <plugin> 
     <artifactId>maven-surefire-plugin</artifactId> 
     <configuration> 
      <skipTests>true</skipTests> 
     </configuration> 
    </plugin> 

    <!-- Integration testing --> 
    <plugin> 
     <artifactId>maven-failsafe-plugin</artifactId> 
     <version>2.19.1</version> 
     <configuration> 
      <skipTests>false</skipTests> 
     </configuration> 
    </plugin> 

这里是得不g日志:http://pastebin.com/kUkufHFS

+0

你可以重新运行你的Maven语句并添加-X来进行调试日志以获取更多信息吗?谢谢 您可以将完整的调试日志记录粘贴到一些在线粘贴文本,粘贴bin,例如:http://pasted.co/ –

+0

为什么要尝试定义已经属于maven-surefire-plugin和maven-故障安全的插件。没有必要为maven-surefire-plugin排除'**/* IT.java',或者将它们包含在maven-failsafe-plugin中... – khmarbaise

+0

@LemLe:我将调试日志添加到问题 – Papple

回答

2

您正试图在预集成测试阶段之前启动Spring Boot应用程序。 Spring-boot-maven-plugin StartMojo类(org.springframework.boot.maven)抱怨,因为该应用程序未在默认超时内启动,由属性“等待”(defautl值:500毫秒)定义,以及“maxAttempts”(默认值:60) - > 500 * 60

/** 
* The number of milli-seconds to wait between each attempt to check if the spring 
* application is ready. 
*/ 
@Parameter 
private long wait = 500; 

/** 
* The maximum number of attempts to check if the spring application is ready. 
* Combined with the "wait" argument, this gives a global timeout value (30 sec by 
* default) 
*/ 
@Parameter 
private int maxAttempts = 60; 

“等待”和“maxAttempts”被注释@Parameter,这意味着你可以将他们的价值从您的POM文件中的变化,在插件配置像这样:

<plugin> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-maven-plugin</artifactId> 
    <configuration> 
       <wait>1000</wait> 
       <maxAttempts>180</maxAttempts> 
    </configuration> 
    <executions> 
       ... 
    </executions> 
</plugin> 
+0

谢谢!有效! – Papple