2015-11-08 18 views
9

Ho appena aggiornato a IntelliJ 15.0 da 14.1 (ero di fretta e enter image description here ho dimenticato di salvare il precedente stato di plug per 14.1) e sto tentando di configurare run generale/eseguire il debug delle impostazioni di configurazione con Spring Boot in Intellij usando Gradle. Nella scheda di configurazione ho aggiunto 1) il percorso della classe Main, 2) JRE e 3) del modulo in IntelliJ. Io uso Spring Boot come configurazione selezionata. Tuttavia, quando selezionare Esegui ottengo questo errore:java.lang.NoClassDefFoundError: javax/servlet/ServletContext

2015-11-07 22:00:21.457 ERROR 10632 --- [main] 
o.s.boot.SpringApplication : Application startup failed 
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:140) 
at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:289) 
at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:229) 
at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:196) 
at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:165) 
at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:306) 
at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:239) 
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:254) 
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:94) 
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:94) 
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:606) 
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:462) 
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:686) 
at org.springframework.boot.SpringApplication.run(SpringApplication.java:320) 
at org.springframework.boot.SpringApplication.run(SpringApplication.java:957) 
at org.springframework.boot.SpringApplication.run(SpringApplication.java:946) 
at org.awana.mozo.club.Application.main(Application.java:37) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:497) 
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144) Caused by: java.lang.ClassNotFoundException: javax.servlet.ServletContext 
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
2015-11-07 22:00:21.457 INFO 10632 --- [   main] s.c.a.AnnotationConfigApplicationContext : Closing org.spring[email protected]3788f3 : startup date [Sat Nov 07 22:00:21 CST 2015]; root of context hierarchy 
2015-11-07 22:00:21.458 WARN 10632 --- [   main] s.c.a.AnnotationConfigApplicationContext : Exception thrown from ApplicationListener handling ContextClosedEvent 
java.lang.IllegalStateException: ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the context: org.spring[email protected]3788f3: startup date [Sat Nov 07 22:00:21 CST 2015]; root of context hierarchy 
at org.springframework.context.support.AbstractApplicationContext.getApplicationEventMulticaster(AbstractApplicationContext.java:344) 
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:331) 
at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:869) 
at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:836) 
at org.springframework.boot.SpringApplication.run(SpringApplication.java:342) 
at org.springframework.boot.SpringApplication.run(SpringApplication.java:957) 
at org.springframework.boot.SpringApplication.run(SpringApplication.java:946) 
at org.awana.mozo.club.Application.main(Application.java:37) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:497) 
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144) 
2015-11-07 22:00:21.459 WARN 10632 --- [   main] s.c.a.AnnotationConfigApplicationContext : Exception thrown from LifecycleProcessor on context close 
java.lang.IllegalStateException: LifecycleProcessor not initialized - call 'refresh' before invoking lifecycle methods via the context: org.spring[email protected]3788f3: startup date [Sat Nov 07 22:00:21 CST 2015]; root of context hierarchy 
at org.springframework.context.support.AbstractApplicationContext.getLifecycleProcessor(AbstractApplicationContext.java:357) 
at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:877) 
at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:836) 
at org.springframework.boot.SpringApplication.run(SpringApplication.java:342) 
at org.springframework.boot.SpringApplication.run(SpringApplication.java:957) 
at org.springframework.boot.SpringApplication.run(SpringApplication.java:946) 
at org.awana.mozo.club.Application.main(Application.java:37) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav a:43) 
at java.lang.reflect.Method.invoke(Method.java:497) 
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144) 
Exception in thread "main" 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(Sta ndardAnnotationMetadata.java:140) 
at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigu rationClass(ConfigurationClassParser.java:289) 
at org.springframework.context.annotation.ConfigurationClassParser.processConfigura tionClass(ConfigurationClassParser.java:229) 
at org.springframework.context.annotation.ConfigurationClassParser.parse(Configurat ionClassParser.java:196) 
at org.springframework.context.annotation.ConfigurationClassParser.parse(Configurat ionClassParser.java:165) 
at org.springframework.context.annotation.ConfigurationClassPostProcessor.processCo nfigBeanDefinitions(ConfigurationClassPostProcessor.java:306)    
at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProce ssBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:239) 
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBean DefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:254) 
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBean FactoryPostProcessors(PostProcessorRegistrationDelegate.java:94) 
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactory PostProcessors(AbstractApplicationContext.java:606) 
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:462) 
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:686) 
at org.springframework.boot.SpringApplication.run(SpringApplication.java:320) 
at org.springframework.boot.SpringApplication.run(SpringApplication.java:957) 
at org.springframework.boot.SpringApplication.run(SpringApplication.java:946) 
at org.awana.mozo.club.Application.main(Application.java:37) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav a:43) 
at java.lang.reflect.Method.invoke(Method.java:497) 
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144) Caused by: java.lang.ClassNotFoundException: javax.servlet.ServletContext 
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
Process finished with exit code 1 

risposta

1

OK ecco quello che ho dovuto fare per risolvere questo problema specifico: IntelliJ bisogno di avere una definizione per Gradle Task chiamato bootRun all'interno della/Configurazione Run Debug. Questo mi consente di eseguire ora il codice back-end o eseguire il debug degli aggiornamenti del codice back-end in IntelliJ. 2) Successivamente ho dovuto ristrutturare le mie directory IntelliJ perché IntelliJ 15 aveva installato sia una cartella JRE genitore che una secondaria, che non è corretta, quindi quindi visualizzato IntelliJ e un'eccezione che indica che non è stato possibile trovare a) java.exec né b) jvm. file cfg sotto la sua sottodirectory JRE/Lib. Una volta risolti questi due problemi, sia le build che il debug sembravano funzionare per il back-end di Java Spring. Ho seguito con IntelliJ l'eccentrica installazione di JRE.

+0

ha fatto si alza un biglietto si 'youtrack' (JetBrains biglietti del sito) - se così si prega si può fare riferimento qui. – arcseldon

+0

Credo di averlo fatto ma sto ancora cercando di trovare il biglietto. – user1548875

+0

ok, np - conosci l'esperienza ... grazie per aver risposto lo stesso. – arcseldon

14

Aveva lo stesso problema. Sembrava specifico provare a eseguire un'app Web di avvio di primavera tramite IntelliJ 15.x configurazione di esecuzione. Poiché stavo usando maven ho invece creato una configurazione di esecuzione maven specificando command line action come spring-boot:run - questo funziona sia in modalità di esecuzione che di debug. Screenshot allegato.

enter image description here

Problemi correlati