无法启动EmbeddedWebApplicationContext由于缺少EmbeddedServletContainerFactory豆
问题描述:
Maven构建成功了,但是当我试图运行它失败:无法启动EmbeddedWebApplicationContext由于缺少EmbeddedServletContainerFactory豆
Error: Could not find or load main class app.jar
我在resources/META-INF/MANIFEST.MF
与
Manifest-Version: 1.0
Main-Class: go.Application
全部到位看来。怎么了?
的pom.xml
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.5</version>
<configuration>
<archive>
<manifestFile>src/main/resources/META-INF/MANIFEST.MF</manifestFile>
</archive>
</configuration>
</plugin>
</plugins>
</build>
UPDATE1
建设罐子神器的IntelliJ用时同样的故事。
UPDATE2
OK,我设法运行它,但现在我有:
Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean.
UPDATE3
得到它通过增加Application.java工作:
@Bean
public EmbeddedServletContainerFactory servletContainer() {
TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory();
return factory;
}
答
好,所以我打我的头在这个...我有以下几点:
/**
* Main class.
*/
@SpringBootApplication
public class Application {
/**
* Main entry point for the application.
*
* @param args The args to pass in
*/
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
和我所有的依赖关系是正确的..
的exhausive搜索后,我发现:
由于我没有弹簧引导家长为我的父母,我必须包括执行一节中我的插件配置,如下所示:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>your.Application.fqdn.here</mainClass>
<layout>ZIP</layout>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
欲了解更多信息如下:
http://docs.spring.io/spring-boot/docs/1.4.0.BUILD-SNAPSHOT/maven-plugin/usage.html
你如何启动该应用程序?在我看来,像调用java时缺少参数'-jar'。 – 2015-01-21 10:08:36
当我添加'-jar'它显示不同的错误'无法访问jarfile' – 2015-01-21 10:10:45
这听起来像你的路径是错误的。你在正确的目录中吗? – 2015-01-21 10:16:01