当前位置: 首页 > 知识库问答 >
问题:

如何在Eclipse tomcat中运行Spring引导应用程序?

邢焱
2023-03-14

我有一个Spring boot应用程序,希望在Eclipse中作为服务器应用程序运行。因此,该应用程序将被识别为Tomcat web应用程序,并可以在更新facet时添加:

当我运行web应用程序时,找不到我的rest服务。spring boot应用程序包含的文件夹结构与spring boot发布前的spring应用程序不同。spring boot应用程序可以从配置了eclipse的tomcat上运行吗?在spring启动之前,还需要指定应用程序的控制器部分。为了从EclipseTomcat运行,我需要用这些设置更新我的spring boot应用程序吗?

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

更新:在EclipseTomcat容器中运行这个应用程序的原因是,我的新spring boot应用程序将依赖于其他非spring boot应用程序。

共有3个答案

施玉宸
2023-03-14

对于那些看不到“部署程序集”选项的用户,请在。项目文件将启用部署程序集选项。

组织。日食wst。常见的模块核心。模块再生

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

方祺
2023-03-14
    使用gradle插件:eclipse-wtp和war
  • 在应用程序
  • 中扩展 SpringBootServlet初始工具

为了在tomcat上运行spring boot应用程序,通常生成的工件必须是war应用程序。

为了让它在Eclipse内部的tomcat上运行,您必须使用Eclipse WTPgradle插件使用WTP项目(Web工具平台又名动态Web模块)。

为了在Tomcat启动时启动Spring Boot应用程序上下文,必须扩展SpringBootServletializer。

Spring提供了如何使用Spring Boot构建REST Web服务的入门教程。我增强了该项目以与Tomcat和Eclipse合作:

示例项目:

git clone https://github.com/spring-guides/gs-rest-service.git

将完整//code>子文件夹导入为gradle项目。

去除

apply plugin: 'java'
apply plugin: 'eclipse'

添加

apply plugin: 'war'
apply plugin: 'eclipse-wtp'

添加SpringBootServletializer的扩展

public class Application extends SpringBootServletInitializer {
    ...
}

完成后,我可以将示例项目部署到eclipse中配置的Tomcat服务器上,并启动服务器。网址是:http://localhost:8080/complete/greeting?name=User

查看完整的样本。

缑嘉玉
2023-03-14

检查你的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);
    }
}

然后配置Project Facets(就像你已经做的那样):

  • 动态网页模块
  • 爪哇
  • Javascript

完成!

 类似资料:
  • 我有一个Spring Boot应用程序依赖于谷歌PubSub。我想用谷歌云PubSub模拟器运行它。如何解析,以便应用程序启动并使用来自本地模拟器而不是外部项目的消息? 目前,如果我将GOOGLE_APPLICATION_CREDENTIALS设置为dev.json,则不会调用PubSub,如果我不设置变量,则测试崩溃。我怎样才能克服它?我不会拼图。 注意:我正在编写一个完整的Spring boo

  • 我是Spring应用程序开发的新手。 如何在tomcat服务器的开发阶段运行我的应用程序。 在这里我可以看到最终部署的解决方案。每次我需要停下来重新开始时,我只需要在ui上更改一些。这让我很难受。所以你能帮我照顾她吗?? 我的pom.xml依赖是 org.springframework spring-binding 1.0.6

  • 我想在Spring Boot应用程序中使用WebSphereLiberty,而不是tomcat服务器。如果我是正确的,它是不支持开箱即用的。如何配置spring boot/websphere liberty来实现这一点?

  • 我有一个带有嵌入式Jetty的Spring启动应用程序,需要使用JMX监控应用程序。 只要在我的windows开发环境中启动应用程序,我就可以使用jconsole访问JMX信息(jconsole提供了一个单独连接的过程)。但是,一旦使用以下参数将应用程序作为可执行jar运行,端口将不可用,我就无法与jconsole连接 netstat-tulpn既不返回端口9010也不返回端口9011,而且我无法

  • 我不明白在springboot应用程序中如何正确地编写websocket测试用例。我有一个实现的类,我在中添加了这个处理程序: 但是当我写下下面的测试用例时,我得到了一个例外: 异常::发起WebSocket连接的HTTP请求失败 如果我将(结尾斜杠)它可以工作,但不工作。 我做错了什么?

  • 我开始用Spring Boot学习微服务。我转到项目的root并运行命令: 它工作得很好,我可以在localhost:8080/[path]中使用我的endpoint。但是当我尝试使用run as->Spring Boot应用程序从IDE运行我的项目时。我得到这个错误: