[JAVA] Starten Sie mit IntelliJ ein (altes) Spring Boot-Projekt

Heutzutage ist es veraltet, Spring Boot mit Eclipse oder STS zu entwickeln. Lassen Sie uns also die Entwicklung mit IntelliJ ermöglichen.

Wenn Sie anfangen, ohne nachzudenken

logBack.xml existiert nicht

Logging system failed to initialize using configuration from 'classpath:logback.xml'
java.io.FileNotFoundException: class path resource [logback.xml] cannot be resolved to URL because it does not exist
	at org.springframework.util.ResourceUtils.getURL(ResourceUtils.java:135)
	at org.springframework.boot.logging.LoggingApplicationListener.initializeSystem(LoggingApplicationListener.java:307)
	at org.springframework.boot.logging.LoggingApplicationListener.initialize(LoggingApplicationListener.java:276)
	at org.springframework.boot.logging.LoggingApplicationListener.onApplicationEnvironmentPreparedEvent(LoggingApplicationListener.java:239)
	at org.springframework.boot.logging.LoggingApplicationListener.onApplicationEvent(LoggingApplicationListener.java:212)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:167)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:122)
	at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:73)
	at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:54)
	at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:336)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1162)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1151)

Es war nicht verfügbar, da sich keine logback.xml im Ressourcenordner befand. In dem PJ, für den ich verantwortlich war, wurde es für jede Umgebung in pom.xml separat konfiguriert. Geben Sie die zu lesende und aufzulösende Ressource erneut an.

ApplicationEventMulticaster hat den Fehler nicht initialisiert

2019-04-03 12:42:43.920  INFO 14712 --- [           main] s.c.a.AnnotationConfigApplicationContext : Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@4c402120: startup date [Wed Apr 03 12:42:43 JST 2019]; root of context hierarchy
2019-04-03 12:42:44.490  WARN 14712 --- [           main] s.c.a.AnnotationConfigApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [jp.yoshiki-0428.app.App]; nested exception is java.lang.IllegalStateException: Failed to introspect annotated methods on class org.springframework.boot.web.support.SpringBootServletInitializer
2019-04-03 12:42:44.490 ERROR 14712 --- [           main] o.s.b.f.s.DefaultListableBeanFactory     : Destroy method on bean with name 'org.springframework.boot.autoconfigure.internalCachingMetadataReaderFactory' threw an exception

java.lang.IllegalStateException: ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the context: org.springframework.context.annotation.AnnotationConfigApplicationContext@4c402120: startup date [Wed Apr 03 12:42:43 JST 2019]; root of context hierarchy
	at org.springframework.context.support.AbstractApplicationContext.getApplicationEventMulticaster(AbstractApplicationContext.java:404)
	at org.springframework.context.support.ApplicationListenerDetector.postProcessBeforeDestruction(ApplicationListenerDetector.java:97)
	at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:253)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:578)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:554)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:961)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:523)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:968)
	at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1033)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:555)
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:737)
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:370)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:314)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1162)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1151)
	at jp.yoshiki-0428.app.App.main(App.java:17)

2019-04-03 12:42:44.506 ERROR 14712 --- [           main] o.s.boot.SpringApplication               : Application startup failed

org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [jp.yoshiki-0428.app.App]; nested exception is java.lang.IllegalStateException: Failed to introspect annotated methods on class org.springframework.boot.web.support.SpringBootServletInitializer
	at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:181)
	at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:308)
	at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:228)
	at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:270)
	at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:93)
	at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:686)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:524)
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:737)
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:370)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:314)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1162)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1151)
	at jp.yoshiki-0428.app.App.main(App.java:17)
Caused by: java.lang.IllegalStateException: Failed to introspect annotated methods on class org.springframework.boot.web.support.SpringBootServletInitializer
	at org.springframework.core.type.StandardAnnotationMetadata.getAnnotatedMethods(StandardAnnotationMetadata.java:163)
	at org.springframework.context.annotation.ConfigurationClassParser.retrieveBeanMethodMetadata(ConfigurationClassParser.java:380)
	at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:314)
	at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:245)
	at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:198)
	at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:167)
	... 12 common frames omitted
Caused by: java.lang.NoClassDefFoundError: javax/servlet/ServletContext
	at java.lang.Class.getDeclaredMethods0(Native Method)
	at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
	at java.lang.Class.getDeclaredMethods(Class.java:1975)
	at org.springframework.core.type.StandardAnnotationMetadata.getAnnotatedMethods(StandardAnnotationMetadata.java:152)
	... 17 common frames omitted
Caused by: java.lang.ClassNotFoundException: javax.servlet.ServletContext
	at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 21 common frames omitted


Process finished with exit code 1

Dieser Fehler hat Stunden gedauert. Ist es nach der Untersuchung ein vorhandener Fehler in IntelliJ? Es scheint. Die Lösung besteht darin, das "Scope-Tag" von "Spring-Boot-Starter-Tomcat" zu entfernen, und es wird funktionieren. (Es kann andere Ursachen geben)

pom.xml


<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-tomcat</artifactId>
  <scope>provided</scope>
</dependency>
↓ Löschen Sie das Scope-Tag
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>

Referenz: https://intellij-support.jetbrains.com/hc/en-us/community/posts/206670989-Spring-Boot-app-shuts-down-automatically

Recommended Posts

Starten Sie mit IntelliJ ein (altes) Spring Boot-Projekt
Erstellen Sie mit IntelliJ ein Java Spring Boot-Projekt
So erstellen Sie ein Spring Boot-Projekt in IntelliJ
Führen Sie ein Spring Boot-Projekt mit VS-Code aus
Java-Tipps - Erstellen Sie mit Gradle ein Spring Boot-Projekt
Zeigen Sie die Gradle-Aufgabe im Spring Boot-Projekt an
Erstellen Sie mit Intellij ein Spring Boot-Projekt und beenden Sie es sofort nach dem Start
Legen Sie den Kontextparameter in Spring Boot fest
Spring Boot 2 Multiprojekt mit Gradle
Probieren Sie gRPC im Spring Boot & Spring Cloud-Projekt (Mac OS) aus.
Wichtige Änderungen in Spring Boot 1.5
NoHttpResponseException in Spring Boot + WireMock
Bis Sie ein Spring Boot-Projekt in Intellij erstellen und an Github senden
Spring Boot-Anwendungsentwicklung in Eclipse
Schreiben Sie den Testcode mit Spring Boot
Spring Boot: Restful API-Beispielprojekt
(Intellij) Hallo Welt mit Spring Boot
Implementieren Sie die REST-API mit Spring Boot
Was ist @Autowired im Spring Boot?
Implementieren Sie die Spring Boot-Anwendung in Gradle
Festlegen von Projektumgebungsvariablen mit IntelliJ
Verwendung von Thymeleaf mit Spring Boot
Erstellen Sie mit Gradle ein Spring Boot + Docker-Image
Statische Dateizugriffspriorität beim Spring Boot
Spring Boot-Protokoll im JSON-Format ausgeben
Memorandum zum Herunterladen lokaler Dateien mit Spring Boot
Lösen Sie die Thymeleaf-Syntaxprüfung in Spring Boot
[Trainieren! ] Zeigen Sie Hello World mit Spring Boot an
Starten Sie die Nginx + Spring Boot-Anwendung mit Docker-Compose
Verwenden Sie die DynamoDB-Abfragemethode mit Spring Boot
DI SessionScope Bean im Spring Boot 2-Filter
(IntelliJ + gradle) Hallo Welt mit Spring Boot
Ändern Sie das Sitzungszeitlimit in Spring Boot
Eine Geschichte über ein in Java geschriebenes Spring Boot-Projekt, das Kotlin unterstützt
SameSite-Cookie im Spring Boot (Spring Web MVC + Tomcat)
Anforderungs- und Antwortprotokolle mit Spring Boot ausgeben
Fügen Sie mehrere Hauptklassen in ein Frühlingsprojekt ein
Erstellen Sie eine Spring Boot-Anwendung mit IntelliJ IDEA
Fordern Sie Spring Boot heraus
Servlet-Filter mit Spring Boot verwenden [Spring Boot 1.x, 2.x kompatibel]
So fügen Sie in Spring Boot einen Klassenpfad hinzu
Erstellen Sie mit Gradle Spring Boot-Projekte nach Umgebung
Spring Boot Form
So binden Sie mit einer Eigenschaftendatei in Spring Boot
Spring Boot Denken Sie daran
gae + frühlingsstiefel
Anmerkungen, die in Spring Boot-Aufgabenverwaltungstools verwendet werden
Geben Sie die statische Ressourcencodierung in Spring Boot an
Nehmen Sie das externe Glas mit Spring boot2 + Maven3 in das Paket auf
Untersuchte asynchrone Ausführung von Abfragen in Spring Boot 1.5.9
RESTful API-Beispiel für mehrere Module mit IntelliJ + Jersey + Spring Framework
[Spring Boot] So erstellen Sie ein Projekt (für Anfänger)
SSO mit GitHub OAuth in der Spring Boot 1.5.x-Umgebung
Fügen Sie eine externe JAR-Datei in ein IntelliJ-Projekt ein.
Verwendung von CommandLineRunner im Spring Batch von Spring Boot
Testen Sie die Klasse mit Feldinjektion im Spring-Boot-Test, ohne den Spring-Container zu verwenden
Bis Sie mit der Entwicklung mit Spring Boot in Eclipse 1 beginnen
Führen Sie swagger-ui in die in Spring Boot implementierte REST-API ein
Stellen Sie das Spring Boot-Projekt in XAMPP für Tomcat bereit
Bis Sie mit der Entwicklung mit Spring Boot in Eclipse 2 beginnen
Geben Sie spring.profiles.active über context-param in web.xml in Spring Boot an