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