Execution default of goal
org.springframework.boot:spring-boot-maven-plugin:1.0.1.RELEASE:repackage
failed:
Unable to find a single main class from the following candidates
Proyek saya memiliki lebih dari satu kelas dengan main
metode. Bagaimana cara memberi tahu plugin Spring Boot Maven yang mana dari kelas yang harus digunakan sebagai kelas utama?
Jawaban:
Tambahkan kelas awal Anda di pom Anda:
atau
sumber
mvn clean package -Dstart-class=com.foo.Application
jika ingin menentukan secara dinamis menggunakan kelas utama manamvn spring-boot:run -Dstart-class=com.foo.Application
. Ini hanya valid jika Anda belum menentukan mainClass di plugin pomBagi mereka yang menggunakan Gradle (bukan Maven):
sumber
Could not set unknown property 'mainClass' for object of type org.springframework.boot.gradle.dsl.SpringBootExtension
.Jika Anda TIDAK menggunakan pom spring-boot-starter-parent, maka dari dokumentasi Spring :
sumber
Bagi mereka yang menggunakan Gradle (bukan Maven), rujuk di sini :
sumber
Jika Anda menggunakan spring-boot-starter-parent di pom Anda, Anda cukup menambahkan yang berikut ke pom Anda:
Kemudian lakukan paket mvn Anda.
Lihat halaman dokumen Musim Semi ini .
Aspek yang sangat penting di sini adalah menyebutkan bahwa struktur direktori harus src / main / java / nameofyourpackage
sumber
Saya mencoba kode berikut di pom.xml dan berhasil bagi saya
sumber
Sejak Spring Boot 1.5, Anda dapat mengabaikan abaikan string literal rawan kesalahan di pom atau build.gradle. Alat pengemasan ulang (melalui maven atau gradle plugin) akan memilih yang dianotasi
@SpringBootApplication
untuk Anda. (Lihat masalah ini untuk detail: https://github.com/spring-projects/spring-boot/issues/6496 )sumber
Saya telah mengubah nama proyek saya dan masih menemukan
Application
kelas lama di jalur build. Saya menghapusnya di folder 'build' dan semuanya baik-baik saja.sumber
Telah melihat masalah ini dengan Java 1.9 dan SpringBoot 1.5.x, ketika kelas utama tidak ditentukan secara eksplisit.
Dengan Java 1.8, ia dapat menemukan kelas utama tanpa properti eksplisit dan 'paket mvn' berfungsi dengan baik.
sumber