Spring boot demo: spring boot生成war包

spring boot会默认生成Jar包,如果想要生成war包需要修改pom和启动类。

并且,测试的时候发现,部署在apache tomcat 7下会报包含的jar包错误,而在apache tomcat 8下能正常启动访问

如果再tomcat 7下需要解决war包内的jar包冲突(参考:https://blog.csdn.net/qq_14853889/article/details/80026885)

以下步骤参考: https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-create-a-deployable-war-file

  • 启动类修改:继承SpringBootServletInitializer,并override覆盖configure()方法。
@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer {

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

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

}
  • pom.xml: 添加或修改<packaging>为war
<packaging>war</packaging>

为了避免内置servlet容器与要部署war包的servlet容器冲突,将内置的tomcat应用范围设为provided。(参考:https://uule.iteye.com/blog/2087485)

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
  • 最后,像打成jar包一样打成war包,部署到tomcat的webapps中。

注:这个war包依然可以用命令行java -jar xxx.war执行。

原文地址:https://www.cnblogs.com/jane850113/p/10407669.html

时间: 2024-10-08 10:18:09

Spring boot demo: spring boot生成war包的相关文章

利用Ant脚本生成war包的详细步骤

使用ant脚本前的准备 1.下载一个ant安装包.如:apache-ant-1.8.4-bin.zip.解压到E盘. 2.配置环境变量.新增ANT_HOME:E:\apache-ant-1.8.4:PATH增加:E:\apache-ant-1.8.4\bin. 3.检查ant是否配置完成.运行->cmd输入:ant -version.查看是否打印ant的版本号. 打包的实质 生成jar包的实质 1.编译工程src文件夹下的java文件,生成相应的class文件. 2.将所有的class文件集合成

2017.5.24 在intelliJ IDEA 中生成war包

1.勾选Build on make file -> project structure -> Artifacts 2.compile module "***" 选择项目,右键勾选 complile module "***",就能生成war包.

命令行生成war包

1.找到自己的代码位置 2.进入cmd界面 3.进入对应的目录 4.执行命令 5.就会开始自动打包 6.在文件夹下生成对应的war包

maven生成war包的两种方式

war包即对WEB应用程序进行打包,用于应用容器的部署.如在jboss中只要把war包丢入deploy目录下即可发布自己的应用了.打包方式有很多中,很多工具本身就支持此功能.下面主要介绍通过maven来操作的两种方式: 方法一: 即第一反应的那种啦,就是利用maven的maven-war-plugin. <build> <plugins> ...... <plugin> <groupId>org.apache.maven.plugins</groupI

intellij idea tomcat 启动不生成war包

想把项目打包成war包做测试,但是按照之前的方法居然没有成功导出war包,犯了很低级的错误,特此记录. (1)首先在Project Structure 界面,修改type为 Web Application:Archive. (2)点击运行tomcat,war包就会乖乖的在指定的output文件夹下生成. . 然而并没有,tomcat报错信息如下: [2017-12-19 11:42:28,796] Artifact tlks: com.intellij.javaee.oss.admin.jmx.

MyEclipse生成WAR包并在Tomcat下部署发布(转发)

从来没有想过web项目还能打包的,但是有要求,就不得不去实现,在网上找了一下,发现挺简单的. 首先是使用MyEclipse将web项目打包,如下图所示. 右键选中项目,选择export. 然后选择J2EE->WAR File.点击next 接下来制定war包的存放路径,我们将它放在卓面上. 打包完成以后我们将war放到tomcat的webapps目录下. 然后运行tomcat,并输入项目的url就可以了.和正常的web文件同样对待. 启动tomcat,到tomcat的bin目录下启动 start

maven项目生成war包

配置 你的pom.xml文件,在你的overview视窗里 配置 packaging为 war 然后添加 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.2</version> <configuration> <warName>ROOT&

MyEclipse生成WAR包并在Tomcat下部署发布

从来没有想过web项目还能打包的,但是有要求,就不得不去实现,在网上找了一下,发现挺简单的. 首先是使用MyEclipse将web项目打包,如下图所示. 右键选中项目,选择export. 然后选择J2EE->WAR File.点击next 接下来制定war包的存放路径,我们将它放在卓面上. 打包完成以后我们将war放到tomcat的webapps目录下. 然后运行tomcat,并输入项目的url就可以了.和正常的web文件同样对待.

spring boot 生成 war 包有一个war.original是什么?

两个坑 .war.original 生成这种格式的文件,是因为在开启了二次打包.具体可以看这里 修改入口文件的配置 , 官方文档看这里 类似下面的代码,要继承SpringBootServletInitializer @SpringBootApplication public class Application extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(