java - Spring Boot Project cannot run by IntelliJ IDE -
this question has answer here:
- run spring-boot's main using ide 7 answers
edit: here's webapplication file:
@springbootapplication @enableasync @enableautoconfiguration public class webapplication extends springbootservletinitializer { public static void main(string[] args) { springapplication.run(webapplication.class, args); } @override protected springapplicationbuilder configure(springapplicationbuilder application) { return application.sources(webapplication.class); } }
i using intellij(15.0.2) run spring boot project,
it working when execute java -jar spring-boot-sample.war
unfortunately failed run ide , complained unable start embeddedwebapplicationcontext due missing embeddedservletcontainerfactory bean
the error details follows:
[2016-07-25 12:32:46.979] boot - 5719 error [restartedmain] --- springapplication: application startup failed org.springframework.context.applicationcontextexception: unable start embedded container; nested exception org.springframework.context.applicationcontextexception: unable start embeddedwebapplicationcontext due missing embeddedservletcontainerfactory bean. @ org.springframework.boot.context.embedded.embeddedwebapplicationcontext.onrefresh(embeddedwebapplicationcontext.java:133) @ org.springframework.context.support.abstractapplicationcontext.refresh(abstractapplicationcontext.java:532) @ org.springframework.boot.context.embedded.embeddedwebapplicationcontext.refresh(embeddedwebapplicationcontext.java:118) @ org.springframework.boot.springapplication.refresh(springapplication.java:766) @ org.springframework.boot.springapplication.createandrefreshcontext(springapplication.java:361) @ org.springframework.boot.springapplication.run(springapplication.java:307) @ org.springframework.boot.springapplication.run(springapplication.java:1191) @ org.springframework.boot.springapplication.run(springapplication.java:1180) @ com.rentacoder.webapplication.main(webapplication.java:19) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:62) @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43) @ java.lang.reflect.method.invoke(method.java:497) @ org.springframework.boot.devtools.restart.restartlauncher.run(restartlauncher.java:49) caused by: org.springframework.context.applicationcontextexception: unable start embeddedwebapplicationcontext due missing embeddedservletcontainerfactory bean. @ org.springframework.boot.context.embedded.embeddedwebapplicationcontext.getembeddedservletcontainerfactory(embeddedwebapplicationcontext.java:185) @ org.springframework.boot.context.embedded.embeddedwebapplicationcontext.createembeddedservletcontainer(embeddedwebapplicationcontext.java:158) @ org.springframework.boot.context.embedded.embeddedwebapplicationcontext.onrefresh(embeddedwebapplicationcontext.java:130) ... 13 more [2016-07-25 12:32:47.014] boot - 5719 info [restartedmain] --- classpathloggingapplicationlistener: application failed start classpath: [file:/users/hzhang/work/workplace/ideaprojects/rhs/target/classes/]
below dependencies settings in pom file:
<parent> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-parent</artifactid> <version>1.3.3.release</version> <relativepath/> <!-- lookup parent repository --> </parent> <dependencies> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-security</artifactid> </dependency> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-web</artifactid> </dependency> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-tomcat</artifactid> <scope>provided</scope> </dependency> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-data-jpa</artifactid> </dependency> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-data-mongodb</artifactid> </dependency> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter</artifactid> <exclusions> <exclusion> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-logging</artifactid> </exclusion> </exclusions> </dependency> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-log4j</artifactid> </dependency> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-test</artifactid> <scope>test</scope> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-context-support</artifactid> <version>${spring.version}</version> </dependency> </dependencies>
did miss in pom settings?
as quick workaround, can add jar configuration uses resulting jar target folder.
in way can start application or in debug mode.
as drawback approach: won't have hotswap available , see changes after maven build. in case add in add jar run configuration window in before section maven goal "clean package -dskiptests" each time press run have latest changes available.
this quickfix; problem can solved in other ways - done times ago can't remember problematic dependency - need dig little in spring source code debugging around methods exception jumps.
Comments
Post a Comment