2016-01-21 93 views
2

我有一个Spring启动应用程序,并希望将其作为Eclipse中的服务器应用程序运行。 因此,应用程序将被识别为一个Tomcat Web应用程序,并可以加入我更新方面:如何在Eclipse tomcat中运行spring boot app?

enter image description here

当我运行的Web应用程序没有被发现,我的休息服务。在Spring引导发布之前,Spring引导应用程序包含与Spring应用程序不同的文件夹结构。春季启动应用程序可以从eclipse配置的tomcat运行吗?同样在春季启动之前,应用程序的控制器部分需要指定。我是否需要使用这些设置更新我的Spring Boot应用程序才能从Eclipse tomcat运行?

我不想创建一个战争,然后将其复制到tomcat的webapps文件夹。

更新:在Eclipse Tomcat容器中运行此应用程序的原因是我有其他非Spring引导应用程序,我的新的春季启动应用程序将依赖于。

+1

只需运行应用程序,您不需要部署它。 –

+0

@ M.Deinum请参阅更新 –

+0

为什么你需要将它部署到tomcat中...假设你使用http进行通信,如果它是相同的tomcat,那么无关紧要。如果你想部署到tomcat,你需要一场战争(这在参考指南中有解释)。 –

回答

6

检查你的pom.xml:

<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> 

然后检查你的主应用程序类:

@SpringBootApplication 
public class Application extends SpringBootServletInitializer { 

    @Override 
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { 
     return application.sources(Application.class); 
    } 

    public static void main(String[] args) { 
     SpringApplication.run(Application.class, args); 
    } 
} 

然后配置项目构面(因为你已经做了):

  • 动态Web模块
  • Java
  • 的Javascript

然后检查部署大会: enter image description here

完成!

0

对于那些无法看到“部署程序集”选项的用户,将下面的大自然添加到.project文件将启用部署程序集选项。

org.eclipse.wst.common.modulecore.ModuleCoreNature

定义为我的项目包装结构之后,我能够无需手动复制在webapps目录war文件运行Tomcat服务器上的应用程序。

0

只需在Spring引导的主类中添加此注释即可。

@SpringBootApplication 
@Configuration 
@ComponentScan(value={"packages name to scan"}) 

pom.xml文件中添加依赖关系。

相关问题