SpringBoot项目如何打可执行war包

最近做了一个Springboot项目,但是最后需要打成WAR包在容器中部署,下面就简单记录一下。

1、修改pom文件

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 <modelVersion>4.0.0</modelVersion>
 <groupId>com.eelve</groupId>
 <artifactId>springboot-war</artifactId>
 <version>0.0.1-SNAPSHOT</version>

 <!-- 打包方式 -->
 <packaging>war</packaging>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.2.6.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<!-- 嵌入式tomcat相关jar将被放入到WEB-INF\lib-provided下 -->
		<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-tomcat</artifactId>
  <scope>provided</scope>
 </dependency>
	</dependencies>

	<build>
		<plugins>
  <!-- 打包插件 -->
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>
</project>

2、修改启动类

package com.eelve.springboot.war;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;

@SpringBootApplication
public class SpringbootWarApplication extends SpringBootServletInitializer {

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

	public static void main(String[] args) {
		SpringApplication.run(SpringbootWarApplication.class, args);
	}
}

使用maven打包(clean package),生成的war包可以用于传统的部署方式(外部tomcat),也可以直接使用java -jar 的方式运行。

到此这篇关于SpringBoot项目如何打可执行war包的文章就介绍到这了,更多相关springboot打可执行war包内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • springBoot 打war包 程序包com.sun.istack.internal不存在的问题及解决方案

    使用的是 idea - Lifecycle-package 的方式打包(maven) 确认  <packaging>war</packaging> 修改启动类: (原启动类) public class ExampleApplication { public static void main(String[] args) { SpringApplication.run(ExampleApplication.class, args); } } 修改为: public class Exa

  • SpringBoot应用War包形式部署到外部Tomcat的方法

    这一篇文章介绍SpringBoot应用修改默认打jar形式部署为打war包形式,部署到外部Tomcat. SpringBoot应用默认打包成为可执行jar模式让我们感觉到部署的便捷,接下来给大家介绍一下SpringBoot项目打War包形式部署到外部Tomcat. 修改原有项目 1.修改项目 打开项目,修改pom文件: 1.项目中加入spring-boot-starter-web(如果是已经加入该依赖的项目可以忽略)和spring-boot-starter-tomcat依赖. 2.packagi

  • springboot项目打成war包部署到tomcat遇到的一些问题

    开发环境使用jdk1.8.0_60,把springboot 项目打成war包后, 部署到apache-tomcat-7.0.68时报错如下,换成apache-tomcat-8.0.9解决 org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/my-springboot-web-0.0.1

  • Springboot打成war包并在tomcat中运行的部署方法

    把spring-boot项目按照平常的web项目一样发布到tomcat容器下 一.修改打包形式 在pom.xml里设置 <packaging>war</packaging> 二.移除嵌入式tomcat插件 在pom.xml里找到spring-boot-starter-web依赖节点,在其中添加如下代码, <dependency> <groupId>org.springframework.boot</groupId> <artifactId&

  • Springboot项目打war包docker包找不到resource下静态资源的解决方案

    前一段时间遇到一个问题,是关于读取项目中文件资源的问题.我是一个maven工程 我把一张照片放到resource下面,然后在本地读取的时候可以读取到,但是一旦打成WAR包以后就总是包找不到文件资源错误.我的war包是springboot打的war包,是内嵌的tomcat所以不解压,然后系统去找路径的时候会发现是个WAR包,而图片在WAR包内,所以找不到. 为了解决这个问题,我走了好多弯路,一直在路径上花费时间. 一开始使用修改配置文件的方式: # 配置静态资源访问前缀 spring.mvc.st

  • SpringBoot项目如何打可执行war包

    最近做了一个Springboot项目,但是最后需要打成WAR包在容器中部署,下面就简单记录一下. 1.修改pom文件 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://ma

  • SpringBoot项目没有把依赖的jar包一起打包的问题解决

    这篇文章主要介绍了SpringBoot项目没有把依赖的jar包一起打包的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一般未一起打包是因为pom不是继承自spring-boot-starter-parent导致的需要在pom.xml文件写入以下配置 <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId>

  • 服务器使用Nginx部署Springboot项目的详细教程(jar包)

    1,将java项目打成jar包 这里我用到的是maven工具 这里有两个项目,打包完成后一个为demo.jar,另一个为jst.jar 2.准备工具 1.服务器 2.域名(注:经过备案) 3.Xshell用于连接服务器 4.WinScp(注:视图工具,用于传输jar) 3.将jar包传入服务器 直接拖动即可 3.使用Xshell运行jar包 注:(服务器的java环境以及maven环境,各位请自行配置,这里不做描述.) cd到jar包路径下执行:nohup java -jar demo.jar

  • SpringBoot项目中jar发布获取jar包所在目录路径的最佳方法

     示例代码: //第一种 File path = new File(ResourceUtils.getURL("classpath:").getPath()); if(!path.exists()) path = new File(""); System.out.println(path.getAbsolutePath()); //第二种 System.out.println(System.getProperty("user.dir")); //

  • 使用Docker部署war包项目的实现

    使用Docker部署war,必须要用容器,我们就用tomcact容器,其实都是将war包丢到tomcat的webapps目录下,tomcat启动的情况下会自动解压war包. 一种是在Docker中安装tomcat容器的镜像,然后把war包丢到tomcat镜像下webapps中即可.但是如果tomcat关闭了,其webapps下的包就会消失:二就是利用挂载,还是安装tomcat容器的镜像,但是不把war包丢到tomcat下的webapps中,直接创建一个外部文件夹,将这个外部文件夹跟wabapps

  • 浅谈SpringBoot项目打成war和jar的区别

    首先给大家来讲一个我们遇到的一个奇怪的问题: 1.我的一个springboot项目,用mvn install打包成jar,换一台有jdk的机器就直接可以用java -jar 项目名.jar的方式运行,没任何问题,为什么这里不需要tomcat也可以运行了? 2.然后我打包成war放进tomcat运行,发现端口号变成tomcat默认的8080(我在server.port中设置端口8090)项目名称也必须加上了. 也就是说我在原来的机器的IDEA中运行,项目接口地址为 ip:8090/listall,

  • centos环境下使用tomcat 部署SpringBoot的war包

    准备war包 一.准备好已有的SpringBoot工程,在pom中添加依赖 1)设置打包格式为war <packaging>war</packaging> 2)排除SpringBoot内嵌的tomcat <!-- 以war包部署的形式需要排除内嵌的tomcat --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-bo

  • SpringBoot项目打成war和jar的区别说明

    目录 jar包和war包的区别 [格式特点] [建立的条件] 给大家讲讲如何将springboot项目打包成jar和war 一.打包成jar 1.先new 一个Spring Starter Project 2.创建完成后项目的pom如下 3.打成jar包(通过maven命令的方式) 二.打包成war包形式 1.可以在刚才创建的项目上做改动 2.修改pom.xml 3.如果我们的SpringBoot是使用html作为前端页面开发没有问题 4.打包成war:使用mvn clean package 首

  • SpringBoot项目微信云托管入门部署实践

    目录 云托管简介 入门 Dockerfile settings.xml 总结 微信云托管本身是一个服务器,里面的软件都已经配置好了,直接使用即可,适用于一些简单部署的项目.直接把项目直接上传到服务器即可.无需各种繁琐的软件配置和打包,微信云托管统统给你搞定.而且系统会根据使用量计费,对于一些使用量比较少的系统,也是很划算的.本文从一个 Spring Boot 项目简单部署云托管项目. 云托管简介 在 官网 显示微信云托管的几个优势: 开箱即用 支持多种后端语言 自动扩容 云托管相对传统项目的优势

  • SpringBoot项目打包三方JAR的示例代码

    SpringBoot项目打包成可运行JAR包,但是不是所有JAR包都是MAVEN中央库或者是私有库里面有的,那么要如何把第三方的JAR包通过MAVEN的SpringBoot的打包组件打包进可运行JAR包里呢? 解决方法: 1.所第三方的JAR放到项目下如:/src/lib 2.加入maven依赖: <dependency> <groupId>com.seven</groupId> <artifactId>smssdk</artifactId> &

随机推荐