【问题标题】:SpringBoot & embedded Tomcat: Unpack executable war on serverSpringBoot 和嵌入式 Tomcat:解压服务器上的可执行战争
【发布时间】:2016-06-17 10:01:07
【问题描述】:

我用 spring 制作了我的第一个 web 应用程序。使用起来真的很整洁。目前,我有一个可执行的战争文件,其中包含所有内容,包括一个 tomcat 服务器。它运行良好。 只有一件事困扰着我。 JavaScript 和 CSS 的快速调试和维护不是很舒服,因为 war 文件不会再在服务器上解压。意味着,我总是必须重新启动整个应用程序来接管这些更改。真是烦人。

如何设置一个带有嵌入式 Tomcat 服务器的 spring 项目,以便在执行时解包?

【问题讨论】:

    标签: java spring tomcat spring-boot


    【解决方案1】:

    你必须选择:

    1. 在打包可执行的战争中运行
    2. 在 Tomcat 上部署战争,因此战争已解压缩,您无需重新部署即可编辑 CSS 和 JS。

    使用 Gradle 很容易重新生成并再次运行战争,o 我宁愿使用可执行的战争

    【讨论】:

      【解决方案2】:

      您不会得到完美的解决方案,但是为了在您的测试中加快周转时间,您可以利用 Spring 开发人员工具在浏览器上实时重新加载。这将允许您进行更改并将其保存在本地。这将在您的 IDE 中检测到,这将重新启动您的应用程序,然后触发浏览器的实时重新加载插件以自动刷新您的页面。

      https://springframework.guru/spring-boot-developer-tools/

      【讨论】:

        【解决方案3】:

        参考http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-traditional-deployment

        构建一个传统的可部署war文件,然后你可以通过两种方式运行它:

        1) java -jar myproject.war

        2) 将其部署到 tomcat 中,例如 %TOMCAT_HOME%\webapps\myproject.war

        对于#2,你可以在tomcat启动后找到%TOMCAT_HOME%\webapps\myproject文件夹解压出来,然后可以轻松修改一些文件,比如js、css、jsp等...

        这是一个例子eg-spring-boot-war

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-07-26
          • 1970-01-01
          • 2018-07-28
          • 2019-09-30
          • 2022-06-10
          • 2017-12-27
          • 2021-10-26
          • 2023-03-25
          相关资源
          最近更新 更多