首页
学习
活动
专区
工具
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)。

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

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

相关·内容

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 &命令让程序以后台运行方式执行。

23K24

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项目打成warjar区别「建议收藏」

首先给大家来讲一个我们遇到一个奇怪问题: 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.2K50

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

88930

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

SpringBoot 部署打包成 jarwar 有什么不同?

首先给大家来讲一个我们遇到一个奇怪问题: 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

38210

SpringBoot 在打包部署时候打包成 jarwar 有什么不同?

首先给大家来讲一个我们遇到一个奇怪问题: 一个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.1K10

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知道你这次要配warwar (2) 需要排除一下内置tomcatjar包,防止打包之后与外面Tomcat jar 包冲突,导致项目启动失败...war包) 这里为了减少出错,直接一个项目一个端口 原来server.xml默认给了一个Service(端口是8080,包存放位置是webapps),上面介绍war包部署时候就是用这个,直接复制两份

3.3K31

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 包,其区别主要在于部署和运行方式。

1.6K20

一分钟快速搭建 Spring Boot 项目

网址如下: https://start.spring.io/ 打开界面如下: 可以将 Spring Initializr 看作是 Spring Boot 项目的初始化向导,它可以帮助开发人员在一分钟之内创建一个...2)Language:项目的开发语言,可以选择 Java、Kotlin(JetBrains开发可以在 JVM 上运行编程语言)、Groovy(可以作为 Java 平台脚本语言来使用)。...Packaging:项目打包方式,可以选择 JarWar(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.3K20

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

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

13310

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 ".:.

83210

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.8K60

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

69400

「走进k8s」Docker 多阶段构建-JavaSpringboot演示(11)

通过主机自身maven打包生成jar或者war。启动一个jdk8以上容器,通过挂载jar或者war运行起来。...(镜像特别大) 启动2个容器,A容器自带jdk和maven,A容器内挂载源码,编译生成jar或者war,通过docker copy命令把生成jar或者war从容器内拷贝到宿主机上。...然后B容器自带jdk或者tomcat,直接将上一步jarwar拷贝到容器内直接进行运行,这样A容器很大,但是他不需要上传到它只做编译使用,B容器生成镜像小,只做运行使用。...第一,第二适应于小项目无法批量使用除非写shell脚本无法大规模使用。针对第三种更加简单方式来实现上面的镜像构建过程呢?...每个 FROM 指令都可以使用不同基础镜像,并表示开始一个新构建阶段。你可以很方便将一个阶段文件复制到另外一个阶段,在最终镜像中保留下你需要内容即可。

1.3K21

【玩转腾讯云】本地JavaWeb项目部署到腾讯云轻量服务器,实现公网访问

打包为war 相对于打包出jar,打包为war会复杂点: Mavenpom.xml里设置: war [设置打包为war] 然后,在spring-boot-starter-web...而基于Maven骨架Spring项目,只需要打包IDEA自带Maven工具,进行打包操作: [Maven] 当然,你也可以直接到项目目录下,使用Maven命令打包: mvn clean mvn package...之后,在target目录下生成.jar结尾文件,即为打包文件。...为方便管理,我们创建一个myWeb文件夹,在里面放我们jar包: cd / mkdir myWeb cd myWeb 之后上传本地jar包 启动/关闭Jar 为了方便管理,我们以前台运行方式,运行java...为方便操作,我们使用宝塔面板进行操作(主要是篇幅受限): 宝塔官网,根据自己服务器系统,即可安装宝塔面板 在宝塔面板内安装好Nginx创建新网站: [添加网站] 点击创建网站,设置方向代理: [设置代理

13.3K41

SpringBoot快速开发利器:CLI 属实真牛逼!

CLI 打包应用程序 使用 Spring Boot CLI 创建一个新项目 使用嵌入式 Shell 参考文献 源码下载 ---- Spring boot CLI是运行spring boot命令命令行界面...Spring boot提供spring run命令运行应用程序,spring test命令运行spring测试应用程序。 我们可以使用spring boot命令创建可执行JAR文件。...hello.groovy:需要测试应用程序文件。 tests.groovy:测试文件,用于测试应用程序文件运行命令,我们得到结果如下。...spring help jar  使用 Spring Boot CLI 创建一个新项目 使用init命令Spring boot CLI可以用maven作为默认构建工具创建一个新项目,该工具使用https...图片 如果我们想使用Gradle构建工具,用任何特定java版本构建WAR文件,那么我们可以运行如下命令

1.1K20
领券