Не удалось найти основной класс: bootRepackage
У меня возникла проблема с моей конструкцией gradle. Я использую стандарт, предложенный Spring Website (https://spring.io/guides/gs/rest-service/), но когда я пытаюсь использовать конструкцию gradle, я получил это Ошибка:
![My gradle problem]()
Он не работает для этого gradle, но когда я использую другой (который я взял, когда я был в школе), он отлично работает.
Ответы
Ответ 1
Есть две возможности
- Ваш исходный каталог находится не в правильном месте (используйте директиву sourceSets, чтобы исправить это. Ваш исходный каталог должен выглядеть примерно так
src/main/java/your/package
)
Добавьте это, чтобы указать, где находится ваш основной класс
springBoot {
mainClass = "hello.FileUploader"
}
Я уверен, что это 1.
Ответ 2
У меня также есть эта проблема. Здесь я решил проблему:
используйте org.springframework.boot:spring-boot-starter
вместо org.springframework.boot:spring-boot-starter-web
, если ваш проект является только модулем, который будет использоваться в другом проекте.
Или Задайте основной класс в gradle:
mainClassName = 'your.package.MainClass'
Или просто отключите bootRepackage
bootRepackage {
enabled = false
}
Ответ 3
В вашем проекте нет основного метода (иначе плагин найдет его). Основной метод имеет очень специфическую подпись, поэтому проверьте, что у вас есть public static void main(String[] args)
.
Ответ 4
Если основной класс не определен в текущем проекте, к которому принадлежит файл build.gradle, но вы хотите его запустить для какой-то цели, например, тест интеграции спринта. Сделайте это так:
Добавление
bootRepackage {
mainClass = 'your.app.package.Application'
}
в build.gradle(после того, как строка применяет плагин: 'spring -boot', потому что плагин должен быть загружен) исправить проблему.
Ответ 5
Я знаю, что это очень старый пост. Но я столкнулся с этой проблемой при попытке создать мое первое приложение для загрузки spring (https://spring.io/guides/gs/spring-boot/#scratch).
Поэтому расположение pom.xml, упомянутое в учебнике, неверно. Вы должны поместить его вне своей папки src.
Итак, вот окончательная структура каталогов - /workspace/src/main/java/hello/HelloController.java /workspace/src/main/java/hello/Application.java /workspace/pom.xml
Ответ 6
Я решил это, указав кодировку. Наверное, это потому, что я написал код в среде IDE.
java -Dfile.encoding=UTF-8 -jar build <filename>.jar
Ответ 7
Это случилось со мной.
Меня смутило расположение файла build.gradle
: я подумал, что он должен быть расположен в src/main/java/hello, потому что он упоминается сразу после инструкции по созданию этого суб- структура каталогов.
Он должен быть помещен в корневую папку, содержащую папку src. Когда я это сделал и назвал "gradle build
" из корневой папки, а не "./gradlew build
", как указано в руководстве, сборка была успешной.
Я не выполнил стандартную установку для gradle, просто загрузил двоичные файлы, возможно, это причина, по которой "./gradlew build
" мне не удалось.