이 문제를 해결하도록 도와주세요. 로그의 오류가 무엇을 의미하는지 정확하게 이해하지 못합니다.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 21.749s
[INFO] Finished at: Thu Apr 24 10:10:20 IST 2014
[INFO] Final Memory: 15M/37M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.15:test (default-test) on project samples.simpleforwarding: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.15:test failed: The forked VM terminated without saying properly goodbye. VM crash or System.exit called ?
[ERROR] Command wascmd.exe /X /C ""C:\Program Files\Java\jdk1.7.0_55\jre\bin\java" -Xmx1024m -XX:MaxPermSize=256m -jar E:\OpenDayLight\controller\opendaylight\samples\simpleforwarding\target\surefire\surefirebooter53410321571238933.jar E:\OpenDayLight\controller\opendaylight\samples\simpleforwarding\target\surefire\surefire86076271125218001tmp E:\OpenDayLight\controller\opendaylight\samples\simpleforwarding\target\surefire\surefire_01846991116135903536tmp"
[ERROR] -> [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/PluginExecutionException
답변
나는 같은 문제가 있었고 다음을 추가하여 해결했다.
<argLine>-Xmx1024m -XX:MaxPermSize=256m</argLine>
전체 플러그인 요소는 다음과 같습니다.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<forkCount>3</forkCount>
<reuseForks>true</reuseForks>
<argLine>-Xmx1024m -XX:MaxPermSize=256m</argLine>
</configuration>
</plugin>
답변
필자의 경우이 문제는 IntelliJ IDEA 콘솔 (OS Windows 10) 로의 너무 긴 로그 출력과 관련이 있습니다.
명령:
mvn clean install
이 명령으로 문제가 해결되었습니다.
mvn clean install > log-file.log
답변
나는 매우 비슷한 문제가 있습니다 ( Maven 빌드 및 maven-failsafe-plugin-분기 된 VM은 작별 인사를하지 않고 종료 되었습니다).
문제 설명
버전 2.20.1 및 2.21.0에서만 maven 플러그인 maven-surefire-plugin에 문제가 있습니다. 확인하고 버전 2.20.1을 사용합니다.
해결책 1
플러그인 버전을 2.22.0으로 업그레이드 하십시오 . pom.xml에 추가하십시오 .
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.0</version>
</plugin>
해결책 2
플러그인 버전을 2.20으로 다운 그레이드하십시오 . pom.xml에 추가하십시오 .
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
</plugin>
해결책 3
플러그인 구성 testFailureIgnore를 사용하십시오 . pom.xml에 추가하십시오 .
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<testFailureIgnore>true</testFailureIgnore>
</configuration>
</plugin>
답변
오늘 (2018 년 10 월 30 일) 현재 Jenkins 에서이 오류로 빌드가 깨지는 것을 알았습니다.
이 오류는 약간 오해의 소지가 있으며 target/surefire-reports/
다음 오류 메시지를 보려면 덤프 출력 을 확인해야합니다.
Error: Could not find or load main class org.apache.maven.surefire.booter.ForkedBooter
OpenJDK 181의 가능한 버그를 언급하는 다음 SO 게시물로 연결됩니다. Maven surefire에서 ForkedBooter 클래스를 찾을 수 없습니다
해당 게시물의 수정 사항 중 하나가 내 문제를 해결합니다. 구체적으로, 나는 다음 중 하나를 사용했습니다.
- 고정 표시기 컨테이너 건물에서 전환
maven:3.5.4-jdk-8
에maven:3.5.4-jdk-8-alpine
- 스프링 부트 클래스 로더 재정의 : https://stackoverflow.com/a/50661649/1228408
답변
Surefire FAQ 의이 부분 이 도움이 될 수 있습니다.
Surefire가 “잘못 말하지 않고 분기 된 VM이 종료되었습니다”라는 메시지와 함께 실패합니다.
Surefire는 언제든지 System.exit ()를 호출하는 테스트 또는 참조 라이브러리를 지원하지 않습니다. 그렇게 할 경우 확실한 보증과 호환되지 않으므로 라이브러리 / 공급 업체에 문제를 제기해야합니다. 또는 분기 된 VM도 여러 가지 이유로 충돌 할 수 있으며 이로 인해이 문제가 발생할 수도 있습니다. 테스트가 실행될 때 VM 충돌을 나타내는 클래식 “hs_err *”파일을 찾거나 maven 실행으로 인한 로그 출력을 검사하십시오. 충돌 프로세스의 일부 “특별한”출력이 콘솔 / 로그에 덤프 될 수 있습니다. 이것이 CI 환경에서 발생하고 일정 시간 동안 실행 한 후에 만 테스트 스위트가 모든 실행에서 상황을 악화시키는 일종의 OS 레벨 자원을 유출 할 가능성이 있습니다. 정기적 인 OS 수준 모니터링 도구가 표시 될 수 있습니다.
답변
우분투에서 Java 8과 동일한 문제에 직면했습니다.
그런 다음 https://stackoverflow.com/a/53016532/1676516
java 8 https://issues.apache.org/jira/browse/SUREFIRE-1588 의 surefire 플러그인 버전 2.22.1의 최신 버그 인 것 같습니다.
로컬 mvn 설정을 통해 제안 된 해결 방법을 따랐습니다. ~/.m2/settings.xml
<profiles>
<profile>
<id>SUREFIRE-1588</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<argLine>-Djdk.net.URLClassPath.disableClassPathURLCheck=true</argLine>
</properties>
</profile>
</profiles>
답변
나는 오늘 같은 문제가 있었고 실제 문제는 로그와 함께 메시지와 함께 더 많이보고되었습니다. Cannot use a threadCount parameter less than 1; 1 > 0
. <threadCount>1</threadCount>
surefire-plugin 구성을 추가 할 때 다른 오류가 사라졌습니다.
전체 플러그인 구성 :
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit47</artifactId>
<version>2.18.1</version>
</dependency>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-testng</artifactId>
<version>2.18.1</version>
</dependency>
</dependencies>
<configuration>
<threadCount>1</threadCount>
</configuration>
</plugin>
… 그리고 예, 이전 버전과의 호환성을 위해이 테스트 프레임 워크에서 junit과 testng를 모두 사용하고 있습니다.