J'ai un problème avec ma version Gradle. J'utilise la norme proposée par le site Web de Spring ( https://spring.io/guides/gs/rest-service/ ), mais lorsque j'essaie d'utiliser la construction gradle, j'ai eu cette erreur:
Ça ne marche pas pour ce diplômé, mais quand j'en utilise un autre (que j'ai pris quand j'étais à l'école) ça marche parfaitement.
Il y a deux possibilités
src/main/Java/your/package
)Ajoutez ceci pour indiquer où se trouve votre classe principale
springBoot { mainClass = "hello.FileUploader" }
Je suis sûr que c'est 1.
J'ai aussi ce problème, ici j'ai résolu le problème:
utilisation org.springframework.boot:spring-boot-starter
au lieu de org.springframework.boot:spring-boot-starter-web
, si votre projet n'est qu'un module qui sera utilisé dans un autre projet.
Ou définissez la classe principale en gradle:
mainClassName = 'your.package.MainClass'
Ou désactivez simplement le bootRepackage
bootRepackage {
enabled = false
}
Il n'y a pas de méthode principale dans votre projet (sinon le plugin en trouverait une). Une méthode principale a une signature très spécifique, alors vérifiez que vous avez public static void main(String[] args)
.
Si la classe principale n'est pas définie dans le projet en cours auquel appartient le fichier build.gradle, mais que vous souhaitez le lancer dans un certain but, comme le test d'intégration de sprint. Fais-le comme ça:
Ajouter
bootRepackage {
mainClass = 'your.app.package.Application'
}
dans build.gradle (après la ligne, appliquez le plugin: 'spring-boot', car le plugin doit être chargé) résoudre le problème.
Je sais que c'est un très vieux poste. Mais je suis tombé sur ce problème en essayant de construire ma première application Spring-Boot ( https://spring.io/guides/gs/spring-boot/#scratch ). L'emplacement du fichier pom.xml mentionné dans le didacticiel est donc incorrect. Vous devez le placer en dehors de votre dossier src. Voici donc la structure finale du répertoire - /workspace/src/main/Java/hello/HelloController.Java /workspace/src/main/Java/hello/Application.Java /workspace/pom.xml
Cela m'est aussi arrivé.
J'ai été confus par l'emplacement de build.gradle
fichier: je pensais qu'il devrait se trouver dans src/main/Java/hello, car il est mentionné juste après l'instruction pour créer cette structure de sous-répertoires.
Il doit être placé dans le dossier racine contenant le dossier src. Une fois que j'ai fait ça et appelé "gradle build
"du dossier racine et non" ./gradlew build
"selon les instructions du guide, la construction a réussi.
Je n'ai pas effectué l'installation standard pour gradle, je viens de télécharger les binaires, c'est peut-être la raison pour laquelle "./gradlew build
"a échoué pour moi.
Je l'ai résolu en spécifiant l'encodage. C'est probablement parce que j'ai écrit le code dans un IDE.
Java -Dfile.encoding=UTF-8 -jar build <filename>.jar