Tolong bantu saya untuk mengatasi masalah ini. Saya tidak benar-benar mengerti apa arti kesalahan dalam log.
[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
java
maven-surefire-plugin
opendaylight
terkejut
sumber
sumber
Jawaban:
Saya memiliki masalah yang sama dan diselesaikan dengan menambahkan:
Seluruh elemen plugin adalah:
sumber
.m2
rusak. Menghapus ~ / .m2 / repositorirm -rf ~/.m2/repository
dan kemudianmvn install
menyelesaikannya untuk saya.Dalam kasus saya masalah ini terkait dengan keluaran log yang terlalu lama ke konsol IntelliJ IDEA (OS windows 10).
Perintah:
Perintah ini memecahkan masalah bagi saya:
sumber
Saya memiliki masalah yang sangat mirip ( Maven build dan maven-failafe-plugin - VM bercabang dihentikan tanpa mengucapkan selamat tinggal dengan benar ) dan menemukan tiga solusi yang bekerja untuk saya:
Deskripsi masalah
Masalahnya dengan maven plugin maven-surefire-plugin hanya di versi 2.20.1 dan 2.21.0. Saya memeriksa dan Anda menggunakan versi 2.20.1.
Solusi 1
Tingkatkan versi plugin ke 2.22.0 . Tambahkan di pom.xml :
Solusi 2
Turunkan versi plugin ke 2.20 . Tambahkan di pom.xml :
Solusi 3
Gunakan konfigurasi plugin testFailureIgnore . Tambahkan di pom.xml :
sumber
maven:3.6.0-jdk-10
Docker gambar dan upgrade ke versi3.0.0-M3
darimaven-surefire-plugin
diselesaikan bagi saya juga.Pada hari ini (30/10/2018), kami melihat bangunan kami rusak di Jenkins dengan kesalahan ini.
Kesalahannya agak menyesatkan dan harus melihat keluaran dump
target/surefire-reports/
untuk melihat pesan kesalahan berikut:Itu membawa saya ke posting SO berikut yang menyebutkan bug yang mungkin ada di OpenJDK 181: Maven pasti tidak dapat menemukan kelas ForkedBooter
Salah satu perbaikan di pos itu memecahkan masalah saya. Untuk lebih spesifik, saya menggunakan salah satu dari ini:
maven:3.5.4-jdk-8
kemaven:3.5.4-jdk-8-alpine
sumber
The forked VM terminated without saying properly goodbye. VM crash or System.exit called ?
surefire-reports
.Bagian dari FAQ Surefire ini dapat membantu Anda:
sumber
Sedang menghadapi masalah yang sama, java 8 di ubuntu
kemudian datang di https://stackoverflow.com/a/53016532/1676516
Tampaknya bug baru-baru ini dalam plugin plugin ayal versi 2.22.1 dengan java 8 https://issues.apache.org/jira/browse/SUREFIRE-1588
mengikuti solusi yang disarankan melalui pengaturan mvn lokal
~/.m2/settings.xml
sumber
Saya memiliki masalah yang sama hari ini dan bagi saya masalah sebenarnya dilaporkan lebih lanjut di log dengan pesan
Konfigurasi plugin lengkap:Cannot use a threadCount parameter less than 1; 1 > 0
. Saat menambahkan<threadCount>1</threadCount>
konfigurasi yakinfire-plugin kesalahan lainnya menghilang.... dan ya, saya menggunakan junit dan testng dalam kerangka pengujian ini untuk alasan kompatibilitas ke belakang.
sumber
Punya masalah serupa ketika menjalankan perintah mvn dengan plugin Jacoco pada JDK 1.8.0_ 65
Ada bug di JDK https://bugs.openjdk.java.net/browse/JDK-8081379
Dan solusinya adalah menjalankan instalasi bersih mvn dengan param -XX: -UseLoopPredicate
Atau cukup buat pembaruan ke JDK (saya pikir versi minor yang baru berfungsi)
sumber
Matikan useSystemClassLoader dari maven-surefile-plugin akan membantu
sumber
Jika ada yang menyertakan argumen argLine khusus, Anda harus mempertimbangkan kembali karena kemungkinan sumber masalah Anda dengan alokasi memori.
Sebagai Contoh (saya dulu punya):
Sekarang saya menggunakan nilai yang ditentukan:
Untuk alasan apa pun, Aplikasi yang berintegrasi dengan Surefire seperti Jacoco, jangan meminta memori yang cukup untuk hidup berdampingan dengan pengujian yang terjadi pada waktu pembuatan.
sumber
Saya mengalami masalah ini juga dalam wadah Docker Jenkins (mencoba jenkins: lts, jenkins, jenkins: slim dan jenkins: slim-lts. Saya tidak ingin melalui semua repositori dan memperbarui pom untuk setiap proyek, jadi saya baru saja menambahkan disableClassPathURLCheck ke panggilan baris perintah pakar:
sumber
Menggunakan maven surefire 2.21.0 saya memecahkan masalah mengubah nilai
reuseForks
opsi dari true ke false :Seluruh bagian konfigurasi di bawah build saya tampak seperti:
sumber
Anda perlu memeriksa apakah mesin Anda 64 bit atau 32bit. Jika mesin Anda 32 bit maka argumen memori Anda tidak boleh melebihi 4096, bahkan itu harus di bawah 4 GB. tetapi jika mesin Anda 64 bit, instal Java 64 bit dan berikan JAVA_HOME di mvn.bat yang mengarah ke instalasi java 64 bit.
sumber
Saya telah menemukan sebuah kasus ketika tidak ada jawaban yang diberikan yang menyelesaikan masalah. Itu dengan aplikasi warisan yang kebetulan menggunakan log4j dan SLF4J / logback.
Situasi sebelumnya:
clean test
build berjalan dengan baik ketika diluncurkan dari dalam Eclipse, tetapi ketika diluncurkan di baris perintah, kesalahan ini terjadi. CI dibangun di atas CircleCI juga berjalan dengan baik.Apa yang saya lakukan: dari tebakan murni, adalah mengkonfigurasi yang tepat
logback-test.xml
dan dial ke bawah verbosity logging. Lihatlah, saya tidak lagi mengalami kesalahan ini dan sekarang saya dapat membangun proyek (serta modul di mana kesalahan ini terjadi) dari baris perintah.Maksud saya adalah cara bagaimana kerangka kerja logging digunakan atau dikonfigurasi dapat menjadi penjelasan lain .
Apakah ini benar-benar konflik antara log4j dan logback? Atau apakah itu hanya volume logging yang tinggi yang dihasilkan oleh tes entah bagaimana meluap buffer baris perintah? Saya tidak tahu Itu tetap menjadi misteri bagi saya.
sumber
Saya menghadapi masalah serupa setelah memutakhirkan ke java 12, bagi saya solusinya adalah memperbarui versi jacoco
<jacoco.version>0.8.3</jacoco.version>
sumber
versi 2.22.2 memiliki masalah nyata dengan JVM bercabang dua. Gunakan versi 2.20 - itu berfungsi seperti pesona!
sumber
v2.22.2
memiliki masalah denganmaven:3.6-jdk-8-alpine
. Sangat mengganggu!Saya baru-baru ini terjebak dengan kesalahan ini saat membangun aplikasi jar kemas dengan Bamboo:
Setelah berjam-jam meneliti saya memperbaikinya. Dan saya pikir akan bermanfaat untuk membagikan solusi saya di sini.
Jadi kesalahan terjadi setiap kali ketika bambu menjalankan
mvn clean package
perintah untuk aplikasi java di wadah buruh pelabuhan. Saya bukan pakar Maven tetapi masalahnya ada di plugin Surefire dan Junit4 termasuk dalam pegas-boot sebagai ketergantungan maven.Untuk memperbaikinya Anda perlu mengganti Junit4 untuk Junit5 dan menimpa plugin Surefire di Anda
pom.xml
.1.Inside spring boot dependency masukkan pengecualian:
2. Tambahkan dependensi Junit5 baru:
3. Masukkan plugin baru di dalam bagian plugins
Itu sudah cukup untuk memperbaiki bangunan bambu. Jangan lupa juga ubah semua tes Junit4 untuk mendukung Junit5.
sumber
Pengaturan ini di pom.xml bekerja untuk saya. Tetapi Anda harus memeriksa dokumentasi untuk solusi lain https://maven.apache.org/surefire/maven-surefire-plugin/examples/class-loading.html
sumber
JVM bercabang yang digunakan dalam tes kehabisan memori. Solusinya adalah dengan menonaktifkan forking JVM dan menjalankan tes pada JVM utama untuk memastikan Anda memiliki memori yang cukup atau untuk melewati argumen untuk meningkatkan memori dari JVM bercabang dua.
Lihatlah solusi dalam jawaban ini
sumber
Saya mengalami masalah ini selama Jenkins membangun di mesin Ubuntu.
/var/log/syslog
dilaporkanOut of memory: Kill process 19557 (java) score 207 or sacrifice child
.Karena itu saya memberi ruang swap lebih banyak pada mesin Ubuntu . Sejak itu, masalahnya hilang.
sumber
Resolusi saya untuk masalah ini adalah untuk Tutup browser krom sialan yang tersedak memori komputer saya 🙄
sumber
Anda dapat mengatur opsi java
SET JAVA_OPTS='-Xmx1024m' XX:+UseLoopPredicate
mvn clean install
sumber
Pada Windows (OpenJDK11, Maven 3.6.0, SUREFIRE 3.0.0-M1) Saya mendapatkan root itu:
dan diselesaikan dengan meningkatkan ukuran file paging, misalnya seperti ini .
sumber
mencoba semua di atas, tidak berhasil. solusi di bawah ini berfungsi untuk saya:
sumber
Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T21:41:47+03:00) Java version: 1.8.0_201, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk1.8.0_201\jre Default locale: en_US, platform encoding: Cp1252 OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
Saya memiliki masalah yang sama dan diselesaikan dengan menggunakan Java 8 dari Oracle bukannya Java 10 dari Openjdk
sumber
Saya mencoba semua solusi yang disediakan (forking, systemloader, lebih banyak memori dll.), Tidak ada yang berhasil.
Lingkungan : Bangunan gagal di lingkungan gitlab ci, menjalankan pembangunan di dalam wadah buruh pelabuhan.
Solusi : Kami menggunakan surefireplugin di versi 2.20.1 dan meningkatkan ke 2.21.0 atau lebih tinggi (kami menggunakan 2.22.1) memperbaiki masalah ini.
Penyebab : SUREFIRE-1422 - ayal menggunakan perintah
ps
, yang tidak tersedia di lingkungan buruh pelabuhan dan menyebabkan "crash". Masalah ini diperbaiki pada 2.21.0 atau lebih tinggi.Berkat jawaban ini dari pertanyaan lain: https://stackoverflow.com/a/50568662/2970422
sumber
Saya mengalami masalah ini juga pada MacOS sementara debugging jarak jauh kode uji Selenium pada port 5005. Masalahnya ternyata disebabkan oleh sisa-sisa-forked-JVM yang tetap berjalan. Keluaran log ke terminal Eclipse IDE tidak menunjukkan masalah mendasar yang sudah digunakan Alamat . Pesan log hanya ditampilkan ketika saya menjalankan perintah yang sama di terminal MacOS yang sebenarnya coba dijalankan oleh Eclipse:
/bin/sh -c cd /path/to/your/project/directory && /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/jre/bin/java -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005 -jar /path/to/target/surefire/surefirebooter230340673926465933.jar /path/to/target/surefire 2019-06-28T10-50-02_140-jvmRun1 surefire6455775580414993159tmp surefire_02461993428448591420tmp
Membunuh instance JVM yang nakal (mencari nama proses java di Monitor Aktivitas) memperbaiki masalah ini. Ngomong-ngomong, saya menjalankan plugin pluginfire 2.2.1.0 tanpa masalah dengan open jdk 8 (v1.8.0_212). Perhatikan bahwa semua jalur akan spesifik untuk lingkungan build Anda dan mungkin port (address = 5005).
sumber
Saya menghadapi masalah yang sama ketika menjalankan unit test menggunakan uji pakar. Sudah mencoba mengubah versi pasti tetapi tidak berhasil. Akhirnya berhasil menyelesaikan sebagai berikut: EARLIER: (ketika masalah terjadi): javac berasal dari jdk 1.8 java menunjuk ke java bin dari jdk 1.11 CURRENT: (ketika masalah terselesaikan): baik javac & java menunjuk ke sampah dari jdk 1.8
Salam Teja.
sumber
Saya mengalami kesalahan ini setelah variabel anggota statis di kelas pengujian saya disebut metode untuk membuat objek (yang digunakan dalam kasus uji di seluruh kelas), dan metode ini menyebabkan pengecualian.
Beberapa perbaikan termasuk menciptakan kembali objek di dalam setiap test case dan menangkap setiap pengecualian yang sesuai. Atau dengan menginisialisasi objek di dalam metode @BeforeTest dan memastikan bahwa itu dibangun dengan benar.
sumber
Dalam kasus saya, masalah ini terkait dengan jalur ruang kerja yang terlalu panjang. Jadi saya melakukan refactoring jalur dan ini memecahkan masalah bagi saya.
sumber