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

创建war文件后,我的spring boot项目无法使用java- jar命令运行

创建war文件后,可以使用java -jar命令运行Spring Boot项目。但是需要注意的是,Spring Boot项目默认是以嵌入式的方式运行,即使用内置的Tomcat等容器来运行项目。而创建war文件后,项目需要部署到外部的Servlet容器中才能运行。

下面是一些解决方法:

  1. 修改项目的pom.xml文件,将打包方式改为war:
代码语言:txt
复制
<packaging>war</packaging>
  1. 在Spring Boot的启动类上添加extends SpringBootServletInitializer,并重写configure方法:
代码语言:txt
复制
@SpringBootApplication
public class YourApplication extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(YourApplication.class);
    }

    public static void main(String[] args) {
        SpringApplication.run(YourApplication.class, args);
    }
}
  1. 执行mvn clean package命令,生成war文件。
  2. 将生成的war文件部署到外部的Servlet容器中,比如Tomcat。
  3. 启动Servlet容器,访问项目的URL。

注意:在部署到外部Servlet容器后,使用java -jar命令无法直接运行项目,需要通过Servlet容器来启动项目。

推荐的腾讯云相关产品:腾讯云云服务器(CVM)、腾讯云容器服务(TKE)、腾讯云云原生应用平台(Tencent Cloud Native Application Platform,TCNAP)。

腾讯云产品介绍链接地址:

相关搜索:我无法在ibm websphere中运行Spring Boot war文件无法在spring boot中使用war或jar文件显示动态图像无法运行具有特定配置文件的Spring Boot JAR文件Gradle -从只包含.class文件的Spring Boot项目创建Jar作为Jar运行的Spring Boot项目需要web.xml文件吗?无法使用mvn spring-boot: build -image构建war文件的镜像Hibernate无法使用Spring Boot在编译的jar中创建entityManagerFactory bean如何在其他spring boot项目中使用我自己的已创建jar依赖项如何在没有Spring Boot的情况下使用Spring5 WebClient将项目打包成JAR文件?使用Spring boot时,我无法引用另一个jar中存在的类无法在spring boot项目中从swagger上载我的mulitpart的文件(没有可用的选择文件选项我的spring-boot项目在创建后的第一次构建中立即失败当我“无法扫描[...]”时,如何在我的spring boot应用程序中使用JAR扫描进行deaI警告?我无法读取.docx文件,这是我使用soffice命令转换pdf后得到的我的spring boot webapp.war在ssh注销时停止运行。如何创建应用程序服务,使其无需用户登录即可运行在Spring Boot中添加facebook social后,我无法使用任何控制器的post方法当eclipse使用gradle构建时,如何在eclipse外部运行spring-boot应用程序中的可执行jar文件?使用JSP和在POM中设置的自定义父项在spring boot MVC项目中创建可执行jar以提供内容拒绝访问用户'root‘@localhost(使用密码: yes),在spring boot中运行我的项目时出现以下错误消息为我的应用程序运行Wix安装程序后,即使在删除文件夹后,也无法创建/写入文件/文件夹
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

SpringBoot 在打包部署的时候打包成 jar 和 war 有什么不同?

首先给大家来讲一个我们遇到的一个奇怪的问题: 我的一个springboot项目,用mvn install打包成jar,换一台有jdk的机器就直接可以用java -jar 项目名.jar的方式运行,没任何问题...然后我打包成war放进tomcat运行,发现端口号变成tomcat默认的8080(我在server.port中设置端口8090)项目名称也必须加上了。...1jar包和war包的区别 1、war是一个web模块,其中需要包括WEB-INF,是可以直接运行的WEB模块;jar一般只是包括一些class文件,在声明了Main_class之后是可以用java命令运行的...包了 5打包成war包形式 1)可以在刚才创建的项目上做改动,首先打包成war需要一个ServletInitializer类,这个类的位置需要和启动类在同一个文件下 如果一开始选择war包形式,会自动创建此类...包放在tomcat下的webapps下,然后运行tomcat,启动项目了; 记录下来,以后用到的时候看 ^_^; 当然了,在创建项目的时候直接选择package为war,直接就能打成war包了 当选择war

1.2K10

SpringBoot入门系列(三十)Spring Boot项目打包、发布与部署

Spring Boot使用了内嵌容器,因此它的部署方式也变得非常简单灵活,一方面可以将Spring Boot项目打包成独立的jar或者war包来运行,也可以单独打包成war包部署到Tomcat容器中运行...包 生成war包的命令与jar包的方式是一样的,具体命令如下: mvn clean package -Dmaven.test.skip=true 执行完成后,会在target目录下生成:项目名+版本号....二、运行部署 以往我们开发部Web项目时非常繁琐,而使用Spring Boot开发部署一个命令就能解决,不需要再关注容器的环境问题,专心写业务代码即可。...一般开发环境直接java -jar命令启动,正式环境需要将程序部署成服务。下面开始演示Spring Boot项目是如何运行、部署的。 1. 启动运行 简单就是直接启动jar包。...nohup java -jar spring-boot-package-1.0.0.jar & 上面的示例中,使用nohup java –jar xxx.jar &命令让程序以后台运行的方式执行。

26.9K24
  • SpringBoot 打包部署最佳实践

    spring boot部署问题 Springboot应用程序有两种运行方式 以jar包方式运行 以war包方式运行 两种方式应用场景不一样,各有优缺点 jar包运行 通过maven插件spring-boot-maven-plugin...war包运行 以war包方式运行,通过maven插件spring-boot-maven-plugin进行相关配置后,最终生成一个可运行在tomcat,weblogic等java web容器中的war包。...不管选择哪种方式,在部署时都会遇到下面的问题 如果需要打war包,那么不仅是pom文件需要修改,应用程序也要做相应的改动,改动完后,应用程序就无法本地运行,需要打完包后将配置信息修改回来,这样不仅麻烦,...通过优化项目结构解决以上问题 父项目的pom指定spring boot的依赖和公共的依赖。 创建一个spring boot的子项目,作为启动项目,我们称为start项目。...jar包外部配置文件读取 jar运行可以通过指定参数spring.config.location引用外部文件,命令参考如下: java -jar start-1.0-SNAPSHOT.jar --spring.config.location

    4.2K20

    SpringBoot 部署打包成 jar 还是 war?网友:肯定是。。。

    首先给大家来讲一个我们遇到的一个奇怪的问题: 我的一个springboot项目,用mvn install打包成jar,换一台有jdk的机器就直接可以用java -jar 项目名.jar的方式运行,没任何问题...然后我打包成war放进tomcat运行,发现端口号变成tomcat默认的8080(我在server.port中设置端口8090)项目名称也必须加上了。...jar包和war包的区别 1、war是一个web模块,其中需要包括WEB-INF,是可以直接运行的WEB模块;jar一般只是包括一些class文件,在声明了Main_class之后是可以用java命令运行的...包了 二、打包成war包形式 1)可以在刚才创建的项目上做改动,首先打包成war需要一个ServletInitializer类,这个类的位置需要和启动类在同一个文件下 如果一开始选择war包形式,会自动创建此类...包放在tomcat下的webapps下,然后运行tomcat,启动项目了; 记录下来,以后用到的时候看 ^_^; 当然了,在创建项目的时候直接选择package为war,直接就能打成war包了 当选择war

    93830

    SpringBoot 部署打包成 jar 和 war 有什么不同?

    首先给大家来讲一个我们遇到的一个奇怪的问题: 1、 我的一个springboot项目,用mvninstall打包成jar,换一台有jdk的机器就直接可以用java-jar项目名.jar的方式运行,没任何问题...; 2、 然后我打包成war放进tomcat运行,发现端口号变成tomcat默认的8080(我在server.port中设置端口8090)项目名称也必须加上了; 也就是说我在原来的机器的IDEA中运行,...jar包和war包的区别 1、 war是一个web模块,其中需要包括WEB-INF,是可以直接运行的WEB模块;jar一般只是包括一些class文件,在声明了Main_class之后是可以用java命令运行的...包了 二、打包成war包形式 1)可以在刚才创建的项目上做改动,首先打包成war需要一个ServletInitializer类,这个类的位置需要和启动类在同一个文件下 如果一开始选择war包形式,会自动创建此类...包放在tomcat下的webapps下,然后运行tomcat,启动项目了; 记录下来,以后用到的时候看 ^_^; 当然了,在创建项目的时候直接选择package为war,直接就能打成war包了 当选择war

    41010

    SpringBoot项目打成war和jar的区别「建议收藏」

    首先给大家来讲一个我们遇到的一个奇怪的问题: 1.我的一个springboot项目,用mvn install打包成jar,换一台有jdk的机器就直接可以用java -jar 项目名.jar的方式运行,没任何问题...2.然后我打包成war放进tomcat运行,发现端口号变成tomcat默认的8080(我在server.port中设置端口8090)项目名称也必须加上了。...jar包和war包的区别: 1、war是一个web模块,其中需要包括WEB-INF,是可以直接运行的WEB模块;jar一般只是包括一些class文件,在声明了Main_class之后是可以用java命令运行的...war包放在tomcat下的webapps下,然后运行tomcat,启动项目了; 记录下来,以后用到的时候看 ^_^; (当然了,在创建项目的时候直接选择package为war,直接就能打成war包了...) 当选择war为打包方式创建项目时,ServletInitializer是默认直接创建的 此时,pom文件如下 <?

    2.5K50

    SpringBoot打包部署最佳实践

    spring boot部署问题 Springboot应用程序有两种运行方式 以jar包方式运行 以war包方式运行 两种方式应用场景不一样,各有优缺点 jar包运行 通过maven插件spring-boot-maven-plugin...war包运行 以war包方式运行,通过maven插件spring-boot-maven-plugin进行相关配置后,最终生成一个可运行在tomcat,weblogic等java web容器中的war包。...不管选择哪种方式,在部署时都会遇到下面的问题 如果需要打war包,那么不仅是pom文件需要修改,应用程序也要做相应的改动,改动完后,应用程序就无法本地运行,需要打完包后将配置信息修改回来,这样不仅麻烦,...通过优化项目结构解决以上问题 父项目的pom指定spring boot的依赖和公共的依赖。 创建一个spring boot的子项目,作为启动项目,我们称为start项目。...jar包外部配置文件读取 jar运行可以通过指定参数spring.config.location引用外部文件,命令参考如下: java -jar start-1.0-SNAPSHOT.jar --spring.config.location

    3.6K30

    Spring Boot 两种部署到服务器的方式

    jar包(官方推荐)jar包方式启动,也就是使用spring boot内置的tomcat运行。服务器上面只要你配置了jdk1.8及以上,就ok。...不需要外置tomcat1.打成jar包2.将jar包放到任意目录执行下面的命令ruby 代码解读复制代码$ nohup java -jar test.jar >temp.txt &//这种方法会把日志文件输入到你指定的文件中...3.放开端口阿里云服务器需要放开对应的端口 添加安全组:我的项目中配置的启动端口是18080,故这里需要放开18080端口,才能访问war包传统的部署方式:将项目打成war包,放入tomcat 的webapps...我这里直接使用idea打包,如下图: 5.将war放入外部tomcat的webapps目录下 6.启动tomcat 小结1.对比两种打包方式jar更加简单,方便。具体使用哪种方式,应视应用场景而定。...2.注意再说一次,将项目打成war包,部署到外部的tomcat中,这个时候,不能直接访问spring boot 项目中配置文件配置的端口。

    9310

    SpringBoot-打包&部署

    mvn clean package 命令进行打包.③ 运行在 cmd 中, 通过 java -jar + jar包名, 即可运行该项目....只要不关闭 cmd, 就会一直运行.如果是在 linux 中想要运行且在后台运行该 jar 包时, 使用如下命令, 返回的是其 pid 号.c 代码解读复制代码// 结尾的 & 表示在后台进程运行 /.../接口路径注意:项目名以 Tomcat 的 webapps 目录下解压后的文件夹名字为准, 由于不使用 Spring Boot 自带的 Tomcat, 所以 yml 文件里的 server 配置不起作用....打包之后, 配置文件的修改在将 SpringBoot 项目打成 jar 包之后, 配置文件也被加入到了 jar 文件里面, 无法再对其修改了, 但有时又有对其进行修改的需求, 这时, 不可能重新修改项目...Spring Boot 编译出来的 Jar 包中, 占用空间大的, 都是一些外部依赖库 jar 包.例如:进入项目工程根目录, 执行 mvn clean install 命令, 得到的 Jar 包, 用压缩软件打开

    22110

    SpringBoot项目部署详细步骤(jar包+war包+Tomcat下部署多个war包)

    打成 jar 包 简单一步 直接使用IDEA的快捷方式>>install即可 这样就出来了两个包,我们只要.jar的即可 那么.jar.original是什么?...这是Maven在Spring Boot重新打包之前创建的原始jar文件 。...类,重写configure方法,因为默认情况外部Tomcat不能读取到Spring Boot 入口类的main方法启动程序加载,使用需要继承,代码如下: package com.onemsg.hncj;...(1)先让IDEA知道你这次要配war包 war (2) 需要排除一下内置tomcat的jar包,防止打包之后与外面Tomcat jar 包冲突,导致项目启动失败...war包) 我这里为了减少出错,直接一个项目一个端口 原来的server.xml默认给了一个Service(端口是8080,包存放位置是webapps),上面介绍war包部署的时候就是用的这个,我直接复制两份

    3.8K31

    Spring Boot项目打包部署,打Jar包和War包有什么区别?

    JAR包部署:将Spring Boot项目打包成一个可执行的JAR文件,通过命令行或者脚本执行该JAR文件即可运行项目。这种方式简单方便,适合单机部署。...二、Spring Boot 项目如何打 Jar 包 在Spring Boot项目中,可以使用Maven或Gradle来打包成可执行的JAR文件。.../gradlew build 或者使用以下命令跳过测试: ./gradlew build -x test 执行完毕后,在项目根目录的build目录下会生成一个可执行的JAR文件。...WAR文件的打包方式适用于传统的JavaWeb项目部署,需要将WAR文件部署到独立的容器中。如果是使用Spring Boot内嵌的Tomcat运行项目,则通常使用JAR包方式进行部署。...四、Spring Boot项目打Jar包和War包的区别 Spring Boot项目可以打包成 Jar 包或 War 包,其区别主要在于部署和运行方式。

    2.5K20

    一分钟快速搭建 Spring Boot 项目

    网址如下: https://start.spring.io/ 打开后的界面如下: 可以将 Spring Initializr 看作是 Spring Boot 项目的初始化向导,它可以帮助开发人员在一分钟之内创建一个...2)Language:项目的开发语言,可以选择 Java、Kotlin(JetBrains开发的可以在 JVM 上运行的编程语言)、Groovy(可以作为 Java 平台的脚本语言来使用)。...Packaging:项目打包方式,可以选择 Jar 和 War(SSM 时代,JavaWeb 项目通常会打成 War 包,放在 Tomcat 下),Spring Boot 时代默认 Jar 包即可,因为...那如果想把项目打成 jar 包放到服务器上,以 java -jar xxx.jar 形式运行的话,该怎么做呢?...https://segmentfault.com/a/1190000015389941 安装好 JDK 后,再次执行命令就可以看到 Spring Boot 项目可以正常在服务器上跑起来了。

    2.2K10

    Spring Boot(十二):Spring Boot 如何测试打包部署

    , Spring Boot 非常贴心的给出了热部署的支持,很方便在 Web 项目中调试使用。...打成 jar 包 如果你使用的是 maven 来管理项目,执行以下命令既可以 cd 项目跟目录(和pom.xml同级) mvn clean package ## 或者执行下面的命令 ## 排除测试代码后进行打包...下面我们使用在后台运行的方式来启动: nohup java -jar target/spring-boot-scheduler-1.0.0.jar & 也可以在启动的时候选择读取不同的配置文件 java...如果使用的是 gradle,使用下面命令打包 gradle build java -jar build/libs/mymodule-0.0.1-SNAPSHOT.jar 打成 war 包 打成 war...包一般可以分两种方式来实现,第一种可以通过 eclipse 这种开发工具来导出 war 包,另外一种是使用命令来完成,这里主要介绍后一种 1、maven 项目,修改 pom 包 将 <packaging

    1.4K20

    springboot(十二):springboot如何测试打包部署

    ,spring boot非常贴心的给出了热部署的支持,很方便在web项目中调试使用。...打成jar包 如果你使用的是maven来管理项目,执行以下命令既可以 cd 项目跟目录(和pom.xml同级) mvn clean package ## 或者执行下面的命令 ## 排除测试代码后进行打包...下面我们使用在后台运行的方式来启动: nohup java -jar target/spring-boot-scheduler-1.0.0.jar & 也可以在启动的时候选择读取不同的配置文件 java...-jar app.jar --spring.profiles.active=dev gradle 如果使用的是gradle,使用下面命令打包 gradle build java -jar build/...libs/mymodule-0.0.1-SNAPSHOT.jar 打成war包 打成war包一般可以分两种方式来实现,第一种可以通过eclipse这种开发工具来导出war包,另外一种是使用命令来完成,这里主要介绍后一种

    1.9K60

    Spring Boot 核心编程思想-第一部分-读书笔记「建议收藏」

    非Web应用(服务提供、调度任务、消息处理等场景) 即:Spring Boot无须在像传统的Java EE应用那样,将文件打包成WAR文件或者EAR文件,并部署到JavaEE容器中运行。...图形化创建都会默认添加,使用命令行方式需要手动添加插件配置。...FAT Jar 和 FAT War 执行模块-Spring-boot-loader 问:为何 java -jar命令能够执行FAT Jar 文件呢?...Spring boot 的FAT Jar是一个独立的归档文件,除了包含传统的 Java Jar资源外,还有依赖的JAR文件, 被java -jar 引导时,内部依赖的JAR 文件无法被JDK内建的jar...如果不使用Spring Boot ,要启动传统的 jar文件,如果jar文件依赖第三方的类库的话,启动命令 如下: -- java 命令 java -cp ".:.

    92810

    Springboot中使用内嵌服务器运行 WAR 文件的探索之路

    使用内嵌服务器运行 WAR 文件的探索之路 摘要 在这篇文章中,笔者猫头虎将带领大家探讨一种不依赖外部服务器,仅通过命令行即可启动 WAR 文件的方案。...通过深入研究和实践,我们将了解到 Spring Boot 的强大功能,它不仅支持创建可执行的 JAR 和 WAR 文件,而且内含内嵌的服务器,如 Tomcat、Jetty 和 Undertow,极大地简化了...Spring Boot 允许我们将应用程序打包为一个可执行的 JAR 或 WAR 文件,这些文件包含了一个内嵌的服务器,从而使我们能够轻松地从命令行启动应用程序。...独立运行: 应用程序可以打包为可执行的 JAR 或 WAR 文件,使得部署和运行变得非常简单。 准备工作 首先,我们需要确保我们的项目已经正确地配置为 Spring Boot 项目。...使用 Maven 或 Gradle 构建项目,然后从命令行启动应用程序: mvn clean package java -jar target/your-app.war 后台运行与日志捕获 在 Linux

    19010

    Spring Boot 如何测试打包部署

    ,不要等到全部集成后再进行测试,集成后因为更关注整体运行效果,很容易遗漏掉代码底层的bug.集成测试整体开发完成之后进入集成测试, Spring Boot 项目的启动入口在 Application 类中...打成 jar 包如果你使用的是 maven 来管理项目,执行以下命令既可以java 代码解读复制代码cd 项目跟目录(和pom.xml同级)mvn clean package## 或者执行下面的命令##...下面我们使用在后台运行的方式来启动:java 代码解读复制代码nohup java -jar target/spring-boot-scheduler-1.0.0.jar &也可以在启动的时候选择读取不同的配置文件...-0.0.1-SNAPSHOT.jar打成 war 包打成 war 包一般可以分两种方式来实现,第一种可以通过 eclipse 这种开发工具来导出 war 包,另外一种是使用命令来完成,这里主要介绍后一种...生产运维查看 JVM 参数的值可以根据 Java 自带的 jinfo 命令:java 代码解读复制代码jinfo -flags pid来查看 jar 启动后使用的是什么 gc、新生代、老年代分批的内存都是多少

    6100

    使用Java完成对Docker的指南入门,第1部分

    图像完全下载后,它会在容器中运行hello-world。 Spring Boot应用程序 为了使教程专注于Docker,我们将使用现有项目,本Spring教程对此进行了解释。...您可以使用以下命令行运行应用程序: java -Dspring .profiles .active = default -jar target / spring-boot-ops.war 它在http:...您不能在Dockerfiles中使用相对路径,因此您需要修改pom.xml以将war文件放在目标目录中。 接下来,将输出目录属性添加到spring-boot-maven-plugin。...-> 04872b157605 Successfully built 04872b157605 Successfully tagged spring-boot-app:latest 我将介绍该文件的内容以及在初始映像运行后在构建期间发生的情况...您的新映像在那里,名为spring-boot-app,如build命令中所指定。您还将看到OpenJDK的,其码头工人作为构建过程的一部分创建的。

    1.2K00

    Maven - 代码混淆proguard-maven-plugin vs 代码加密classfinal

    运行加密项目时,无需求修改tomcat,spring等源代码。 支持普通jar包、springboot jar包以及普通java web项目编译的war包。...支持加密WEB-INF/lib或BOOT-INF/lib下的依赖jar包。 支持绑定机器,项目加密后只能在特定机器运行。 支持加密springboot的配置文件。...密码读取顺序已经改为:参数获取密码||环境变量获取密码||密码文件获取密码||控制台输入密码||GUI输入密码||退出 tomcat下运行加密后的war 将加密后的war放在tomcat/webapps...v1.1.6 增加机器绑定功能 v1.1.5 增加无密码加密方式,启动无需输密码,但是并不安全 v1.1.4 纯命令行下运行jar时,从配置文件中读取密码,读取后清空文件 v1.1.3 加入输入密码的弹框...不加pwd参数直接启动,启动后在控制台里输入密码,推荐使用这种方式 机器绑定只允许加密的项目在特定的机器上运行 在需要绑定的机器上执行以下命令,生成机器码 java -jar classfinal-fatjar.jar

    1.3K00
    领券