首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

spring-boot可执行文件war/jar找不到JSP,但在intellij IDE中它可以工作

Spring Boot是一个用于创建独立的、生产级别的Spring应用程序的框架。它提供了一种简化的方式来构建基于Java的应用程序,并且内置了许多开箱即用的功能和约定,使开发人员能够更快地开发应用程序。

在默认情况下,Spring Boot使用嵌入式的Servlet容器(如Tomcat或Jetty)来运行应用程序,而不是传统的WAR部署方式。这意味着Spring Boot应用程序可以打包为可执行的JAR文件,而不需要外部的Servlet容器。

然而,由于JSP(Java Server Pages)需要在Servlet容器中进行解析和编译,因此在使用Spring Boot打包为可执行的JAR文件时,默认情况下是不支持JSP的。这是因为嵌入式的Servlet容器不提供对JSP的支持。

如果您希望在Spring Boot应用程序中使用JSP,您需要将应用程序打包为WAR文件,并将其部署到外部的Servlet容器中。这可以通过修改Spring Boot的打包方式来实现。

对于使用Maven构建项目的情况,您可以在pom.xml文件中添加以下配置:

代码语言:xml
复制
<packaging>war</packaging>

然后,您需要创建一个继承自SpringBootServletInitializer的类,并重写configure方法。这个类将被用作WAR部署的入口点。示例代码如下:

代码语言:java
复制
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

public class ServletInitializer extends SpringBootServletInitializer {

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

}

在IntelliJ IDEA中,您可以通过右键单击项目,选择"Open Module Settings",然后在"Artifacts"选项卡中将输出类型设置为"Web Application: Exploded"或"Web Application: Archive",以生成WAR文件。

关于Spring Boot中使用JSP的更详细的配置和示例,您可以参考腾讯云的文档:Spring Boot中使用JSP

总结起来,如果您在Spring Boot中遇到了"可执行文件war/jar找不到JSP"的问题,您需要将应用程序打包为WAR文件,并将其部署到外部的Servlet容器中。这样,JSP就可以正常工作了。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Spring Boot 最佳实践(二)集成Jsp与生产环境部署

    二、集成JSP 开发环境 Spring Boot 2.0.4 RELEASE Tomcat 9.0.10 IDEA(Intellij IDEA简称,下文统一使用)2018.2 Windows 10 JSP....jsp 更多application.properties设置信息,查看官方文档:https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle...4.IDEA生成war文件 步骤一:修改生成jarwar格式 找到: jar 修改为: war 为什么需要修改jar包格式为war,因为如果打包为jar包的时候,不会包含JSP文件,所以访问的时候回...404,而打包为war的时候回包含JSP文件,所以需要把打包格式修改为war. jarwar的区别?...jar(java application archive)java应用程序库,通常为开发引用的通用类 war(web application archive)web应用程序 所以从jarwar的区别来看

    1.8K50

    运行 Spring Boot 应用的 3 种方式!

    war 包方式 如果你的应用改装成了 war 包方式部署,这个时候就需要在 IDE 配置 Server,然后在 Server 中加入你的 Spring Boot 项目,最后运行这个 Server 即可...如何改装成 war 包方式运行请看这篇文章《Spring Boot 发布 jar 包转为 war 包秘籍》 2、打包运行 当你的 Spring Boot 准备提测或者上线,都需要打成 jar 包或者 war...=dt_socket,address=8000,suspend=n -jar javastack-0.0.1-SNAPSHOT.jar 3、用插件运行 可以IDE 或者命令行中使用 Maven 和...总结 在 IDE 推荐使用插件的方式来运行,因为可以集成更多的插件化的功能,如:热部署、区别不同环境配置等。...在非 IDE 请使用 java -jar 的方式,或者直接打包在 Server 运行!

    56720

    spring boot应用启动原理分析

    摘要: spring boot quick start 在spring boot里,很吸引人的一个特性是可以直接把应用打包成为一个jar/war,然后这个jar/war可以直接启动的,不需要另外配置一个...spring boot quick start 在spring boot里,很吸引人的一个特性是可以直接把应用打包成为一个jar/war,然后这个jar/war可以直接启动的,不需要另外配置一个Web...spring boot embed tomcat是如何工作的? 静态文件,jsp,网页模板这些是如何加载到的? 下面来分析spring boot是如何做到的。.../lib/spring-beans-4.2.3.RELEASE.jar JarLauncher 从MANIFEST.MF可以看到Main函数是JarLauncher,下面来分析工作流程。...尽管Executable war并不是spring提出的概念,但spring boot让发扬光大。

    1.9K30

    Spring Boot 都在哪运行?

    war 包方式 如果你的应用改装成了 war 包方式部署,这个时候就需要在 IDE 配置 Server,然后在 Server 中加入你的 Spring Boot 项目,最后运行这个 Server 即可...2、打包运行 当你的 Spring Boot 准备提测或者上线,都需要打成 jar 包或者 war 包运行,war 包方式这里不说直接丢到 Server 里面运行即可,这里介绍直接运行 jar 包的方式...=dt_socket,address=8000,suspend=n -jar javastack-0.0.1-SNAPSHOT.jar 3、用插件运行 可以IDE 或者命令行中使用 Maven 和...总结 在 IDE 推荐使用插件的方式来运行,因为可以集成更多的插件化的功能,如:热部署、区别不同环境配置等。...在非 IDE 请使用 java -jar 的方式,或者直接打包在 Server 运行!

    85420

    运行 Spring Boot 应用的 3 种方式!

    war 包方式 如果你的应用改装成了 war 包方式部署,这个时候就需要在 IDE 配置 Server,然后在 Server 中加入你的 Spring Boot 项目,最后运行这个 Server 即可...2、打包运行 当你的 Spring Boot 准备提测或者上线,都需要打成 jar 包或者 war 包运行,war 包方式这里不说直接丢到 Server 里面运行即可,这里介绍直接运行 jar 包的方式...=dt_socket,address=8000,suspend=n -jar javastack-0.0.1-SNAPSHOT.jar 3、用插件运行 可以IDE 或者命令行中使用 Maven 和...总结 在 IDE 推荐使用插件的方式来运行,因为可以集成更多的插件化的功能,如:热部署、区别不同环境配置等。...在非 IDE 请使用 java -jar 的方式,或者直接打包在 Server 运行!

    87220

    Spring认证指南:了解如何使用 Spring 的 RESTful Web 服务

    你需要什么 约15分钟 最喜欢的文本编辑器或 IDE JDK 1.8或更高版本 Gradle 4+或Maven 3.2+ 您还可以将代码直接导入 IDE:弹簧工具套件 (STS)IntelliJ IDEA...如果您的 IDE 具有 Spring Initializr 集成,您可以从您的 IDE 完成此过程。 你也可以从 Github 上 fork 项目并在你的 IDE 或其他编辑器打开。...您还可以构建一个包含所有必要依赖项、类和资源的单个可执行 JAR 文件并运行。构建可执行 jar 可以在整个开发生命周期、跨不同环境等轻松地作为应用程序交付、版本化和部署服务。.../mvnw spring-boot:run. 或者,您可以使用构建 JAR 文件,....您还可以构建经典的 WAR 文件。

    86320

    我把公司 10 年老系统改造 Maven,真香!!

    这里我们选择 maven-archetype-quickstart 这个模板进行快速创建,因为提供了一个标准的项目结构,基于这个基本项目结构可以进行后续扩展。...2)通过 IDEs 通过 IDE 也能快速创建 Maven 项目,现在 Java IDEs 都支持 Maven 或者自带 Maven 插件,下面以 Intellij IDEA 为例进行创建。...在找对应依赖的时候,如果中央仓库找不到,其他远程仓库能找到的,就在公司私库添加该包所在的远程仓库代理配置。 如果中央仓库或者其他远程仓库都找不到的,比如第三方的 SDK 包,就上传到公司私库。...依赖传递: 在依赖转换过程,如果一个依赖又依赖了其他依赖,可以直接引用父依赖即可,如在老项目中存在:poi、poi-ooxm、poi-ooxml-schemas 这三个依赖: 但在 POI 依赖体系...整个改造过程比较顺利,就是编译和运行时需要解决一些 JAR 包冲突导致的问题,根据上面的种种方法直至编译、启动正常。 以后可以舒舒服服用 Maven 咯。

    46910

    如何使用 Spring 和 RabbitMQ 创建一个简单的发布和订阅应用程序?

    你需要什么 约15分钟 最喜欢的文本编辑器或 IDE JDK 11或更高版本 Gradle 4+或Maven 3.2+ 您还可以将代码直接导入 IDE:弹簧工具套件 (STS)IntelliJ IDEA...如果您的 IDE 具有 Spring Initializr 集成,您可以从您的 IDE 完成此过程。 你也可以从 Github 上 fork 项目并在你的 IDE 或其他编辑器打开。...方法定义的 beanlistenerAdapter()被注册为容器的消息监听器(定义在 container())。侦听spring-boot队列的消息。...spring-boot最后,关闭 Spring 应用程序上下文,应用程序结束。 构建一个可执行的 JAR可以使用 Gradle 或 Maven 从命令行运行应用程序。...您还可以构建一个包含所有必要依赖项、类和资源的单个可执行 JAR 文件并运行。构建可执行 jar 可以在整个开发生命周期、跨不同环境等轻松地将服务作为应用程序交付、版本化和部署。

    1.8K20

    使用IntelliJ IDEA 15和Maven创建Java Web项目(1)

    可以通过其命令做所有相关的工作,其常用命令如下:     - mvn compile     - mvn test     - mvn clean     - mvn package     -... mvn install            //把新创建的jar包安装到仓库     - mvn archetype:generate //创建新项目     中央工厂URL:http://search.maven.org.../ http://repo.maven.apache.org/maven2     本文主要演示在IntelliJ IDEA IDE环境下如何配置和使用。...IntelliJ IDEA 支持直接从公网下载源码和文档的。   3)上图标注 3 所示,可以设置导入的 VM 参数。一般这个都不需要主动改,除非项目真的导入太慢了我们再增大此参数。 3. ...现在可以通过Browser访问WebServer的页面了。 5. 在Tomcat中部署war文件     1)把MVNDemo.war copy到Tomcat的webapps目录下。

    71310

    IntelliJ IDEA入门教程

    前言: IDEA全称IntelliJ IDEA,是Java语言开发的集成环境,IntelliJ IDEA在业界被公认为最好的Java开发工具之一,IDEA相对于Eclipse来说最大的优点就是更加智能...强大的纠错能力 刚开始接触编程的朋友都会有这种经历,写代码时不小心打错一个字母,运行报错,找了好久都找不到错误所在。IDEA的纠错能力会在你写代码的同时,提示你代码是否正确。...比如,后台跳转到JSP页面,会根据你写的JSP名来提示该文件是否存在。 IDEA的强大之处还有很多,这里只是简单说明一下,更多强大的功能需要大家自己在使用的过程慢慢发掘。...9.依赖jar包更新完成,可以在工程目录看到已经添加的jar。 ? 10.在web.xml添加DispatcherServlet配置。 <!...17.在Deployment添加工程。 ? 18.选择工程。 ? 这里会看到有warwar exploded可以选择。 区别: war模式:将WEB工程以包的形式上传到服务器。

    68420

    Spring Boot 打包插件,真是太有用了!

    有了 Spring Boot Maven Plugin 这个插件,我们可以将项目打成可执行的 jar 包(*.jar)以及 war 包(*.war),可以帮助我们很方便的运行 Spring Boot 应用...spring-boot:repackage 可以打成可执行的运行包(*.jar/*.warspring-boot:start/ spring-boot:stop 用于管理 Spring 应用程序的生命周期... 1、直接运行 Spring Boot 应用 在 Maven 命令行使用: mvn spring-boot:run 如果在 IDE 开发工具可以省去 mvn 命令: ?...layout: layout 属性根据项目类型默认是:jar/war,具体可以设置以下几种: JAR:可执行 jar 包; WAR:可执行 war 包; ZIP(别名:DIR):和 jar 包相似,使用的是...xxx-exec-jar 具体参考: https://docs.spring.io/spring-boot/docs/current/maven-plugin/examples/repackage-classifier.html

    2.6K10
    领券