详细介绍:IntelliJ IDEA导出WAR包全指南

news/2026/1/24 8:38:25/文章来源:https://www.cnblogs.com/tlnshuju/p/19524861

详细介绍:IntelliJ IDEA导出WAR包全指南

2026-01-24 08:36  tlnshuju  阅读(0)  评论(0)    收藏  举报

IntelliJ IDEA 导出 WAR 包指南

在 IntelliJ IDEA 中,将项目打包为 WAR 文件主要有以下几种方式,适用于不同的项目类型和构建工具。

特性

社区版 (Community Edition)

终极版 (Ultimate Edition)

费用

免费

付费

主要支持语言

Java, Kotlin, Groovy, Scala 等 JVM 语言

支持所有语言,包括 JavaScript, TypeScript, SQL, PHP, Python, Ruby 等

框架支持

基本的 Java SE 和 Android 开发

全面的企业级框架支持(Spring, Java EE, Hibernate 等)和前端框架(React, Angular, Vue.js)

数据库工具

内置数据库工具

应用服务器集成

支持(如 Tomcat, JBoss)

适用场景

个人开发者、学生、开源项目、标准 Java/Android 开发

企业级应用开发、Web 开发、需要框架和高级工具支持的专业开发者


方法一:使用 Maven 打包(推荐)

这是最标准、最常用的方法,适用于所有 Maven 项目。

  1. 确认项目配置

    • 确保项目根目录下有 pom.xml文件。

    • pom.xml中,将 <packaging>标签的值设置为 war

      war
  2. 配置构建插件

    pom.xml<build>部分配置 maven-war-plugin等插件,例如可以指定 WAR 包名称并忽略缺少 web.xml的警告(适用于 Servlet 3.0+ 项目)。

    your-app-nameorg.apache.maven.pluginsmaven-war-plugin3.3.2false
    
  3. 执行打包命令

    可以通过以下任一方式执行打包:

    • Maven 工具栏:打开 IDEA 右侧的 Maven 工具窗口,展开项目的 Lifecycle,双击 clean,然后双击 package

    • 终端:在项目根目录下执行命令 mvn clean package

  4. 获取 WAR 包

    命令执行成功后,WAR 文件将生成在 target/your-app-name.war

方法二:使用 Gradle 打包

对于 Gradle 项目,操作流程类似。

  1. 配置 build.gradle

    应用 war插件并配置基本信息:

    plugins {id 'war'
    }
    war {archiveFileName = 'your-app-name.war'
    }
  2. 执行打包

    打开 Gradle 工具窗口,找到项目的 Tasks-> build组,双击 war任务。

方法三:使用 IDEA 的 Artifacts 功能

此方法不依赖构建工具,直接通过 IDEA 构建。

  1. 配置 Artifact

    • 打开 File-> Project Structure(快捷键 Ctrl+Alt+Shift+S)。

    • 选择 Artifacts-> +-> Web Application: Archive-> 选择对应的模块。

  2. 构建 WAR 包

    • 在主菜单选择 Build-> Build Artifacts...

    • 选择刚才创建的 Artifact,点击 Build

方法四:Spring Boot 项目打包

Spring Boot 默认打包为可执行 JAR,若需部署到外部 Servlet 容器,需打包为 WAR。

  1. 修改 pom.xml

    • 设置 <packaging>war</packaging>

    • 排除内嵌的 Tomcat,并将其依赖范围设为 provided,以确保它不会与外部容器的依赖冲突 。

      org.springframework.bootspring-boot-starter-tomcatprovided
      
  2. 修改启动类

    使启动类继承 SpringBootServletInitializer并重写 configure方法,这是为了支持在外部的Servlet容器中启动应用 。

    @SpringBootApplication
    public class Application extends SpringBootServletInitializer {@Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder application) {return application.sources(Application.class);}public static void main(String[] args) {SpringApplication.run(Application.class, args);}
    }
  3. 执行打包

    使用 mvn clean package命令打包。


常见问题与技巧
  • WAR 包内容验证:可以使用 jar -tf your-app.war命令查看生成的 WAR 包内部结构是否正确。

  • 格式化代码:在打包前,可以使用 IntelliJ IDEA 的代码格式化功能(Ctrl+Alt+L)来保持代码风格统一,这通过缩排引擎实现,可以调整空格数量、大括号位置等规则 。

  • 多环境配置:对于需要不同配置(如数据库连接)的开发、测试、生产环境,可以利用 Spring Boot 的 profiles功能或 Maven 的 profiles来管理多份配置文件,在打包时指定具体环境 。

希望这份整理后的笔记对您有帮助!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1208878.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qwen3-4B部署资源规划:单卡4090D能否满足生产需求?

Qwen3-4B部署资源规划&#xff1a;单卡40900D能否满足生产需求&#xff1f; 1. 为什么这个问题值得认真对待 你刚在CSDN星图镜像广场看到Qwen3-4B-Instruct-2507的部署按钮&#xff0c;点开详情页第一眼就看到“单卡4090D支持”&#xff0c;心里一动&#xff1a;这卡我刚好有…

MinerU命令行参数详解:-p -o --task doc含义解析

MinerU命令行参数详解&#xff1a;-p -o --task doc含义解析 MinerU 2.5-1.2B 深度学习 PDF 提取镜像专为解决科研、工程和办公场景中 PDF 文档结构化提取难题而设计。它不是简单的文本复制工具&#xff0c;而是能真正理解 PDF 中多栏排版、嵌套表格、数学公式、矢量图表和复杂…

看完就想试!Unsloth生成的AI写作助手效果分享

看完就想试&#xff01;Unsloth生成的AI写作助手效果分享 你有没有过这样的时刻&#xff1a; 写一封工作邮件&#xff0c;反复删改三遍还是觉得语气生硬&#xff1b; 赶一份产品文案&#xff0c;卡在开头第一句就耗掉一小时&#xff1b; 想给朋友写段生日祝福&#xff0c;翻遍…

扩展运算符的应用场景:从零实现多个实战案例

以下是对您提供的博文《扩展运算符的应用场景&#xff1a;从零实现多个实战案例》的 深度润色与重构版本 。我以一位深耕前端工程多年、兼具一线开发与技术布道经验的工程师视角&#xff0c;彻底重写了全文—— 去除所有AI腔调、模板化结构和空泛术语&#xff0c;代之以真实…

IQuest-Coder-V1加载模型卡?分布式部署解决方案实战

IQuest-Coder-V1加载模型卡&#xff1f;分布式部署解决方案实战 1. 为什么IQuest-Coder-V1-40B加载会卡住&#xff1f; 你刚下载完IQuest-Coder-V1-40B-Instruct&#xff0c;兴冲冲地执行transformers.AutoModelForCausalLM.from_pretrained()&#xff0c;结果卡在Loading ch…

YOLO26高手进阶指南:源码修改与自定义层添加思路

YOLO26高手进阶指南&#xff1a;源码修改与自定义层添加思路 YOLO系列模型持续演进&#xff0c;最新发布的YOLO26在检测精度、推理速度与多任务能力上实现了显著突破。但真正让模型从“能用”走向“好用”“专精”的关键&#xff0c;往往不在预设配置里&#xff0c;而在你能否…

通义千问3-14B新闻摘要:长文章自动生成系统搭建教程

通义千问3-14B新闻摘要&#xff1a;长文章自动生成系统搭建教程 1. 为什么选Qwen3-14B做新闻摘要&#xff1f;——不是越大越好&#xff0c;而是刚刚好 你有没有遇到过这样的场景&#xff1a;每天要处理几十篇行业快讯、政策文件或财报原文&#xff0c;每篇动辄两三万字&…

快速理解JLink驱动安装无法识别的核心要点

以下是对您提供的博文内容进行 深度润色与结构重构后的专业技术文章 。全文严格遵循您的所有要求&#xff1a; ✅ 彻底去除AI痕迹&#xff0c;语言自然、真实、有“人味”——像一位在嵌入式一线摸爬滚打十年的老工程师&#xff0c;在深夜调试完第7块板子后&#xff0c;边喝…

亲测有效:如何让自定义脚本在Linux开机时自动运行

亲测有效&#xff1a;如何让自定义脚本在Linux开机时自动运行 你有没有遇到过这样的场景&#xff1a;写好了一个监控磁盘空间的脚本&#xff0c;或者部署了一个轻量级服务&#xff0c;每次重启服务器后都得手动运行一次&#xff1f;又或者开发了一个数据采集程序&#xff0c;希…

亲测CV-UNet图像抠图镜像,单张3秒出图,批量处理太香了

亲测CV-UNet图像抠图镜像&#xff0c;单张3秒出图&#xff0c;批量处理太香了 1. 开箱即用&#xff1a;不用装环境、不写代码&#xff0c;三秒抠出干净人像 你有没有过这样的经历&#xff1f; 刚拍完一组产品图&#xff0c;发现背景杂乱&#xff1b; 临时要交证件照&#xff…

Llama3-8B日志分析助手:异常检测与归因生成教程

Llama3-8B日志分析助手&#xff1a;异常检测与归因生成教程 1. 为什么用Llama3-8B做日志分析&#xff1f; 你有没有遇到过这样的情况&#xff1a;服务器突然报错&#xff0c;几十万行日志哗啦啦滚屏&#xff0c;满屏的ERROR、WARNING、NullPointerException&#xff0c;但真正…

Llama3-8B数据隐私保护?加密传输实战配置

Llama3-8B数据隐私保护&#xff1f;加密传输实战配置 1. 为什么Llama3-8B需要加密传输 你可能已经试过用Meta-Llama-3-8B-Instruct跑对话应用&#xff0c;输入“今天天气怎么样”&#xff0c;模型秒回“阳光明媚&#xff0c;适合出门散步”。但有没有想过&#xff1a;当你在网…

无需GPU知识!UNet镜像自动抠图快速体验

无需GPU知识&#xff01;UNet镜像自动抠图快速体验 你是否曾为一张商品图反复调整魔棒选区&#xff0c;为一张证件照手动涂抹发丝边缘&#xff0c;或为十张人像图批量换背景熬到凌晨&#xff1f;这些曾经需要Photoshop高手花半小时完成的任务&#xff0c;现在只需三步&#xf…

Multisim汉化在中学STEM教育中的可行性:深度剖析

以下是对您提供的博文内容进行 深度润色与结构重构后的专业级技术教育类文章 。全文严格遵循您的所有要求: ✅ 彻底去除AI痕迹 ,语言自然、有温度、有教学现场感; ✅ 摒弃模板化标题与刻板结构 ,以逻辑流代替章节划分; ✅ 强化一线教师视角与学生认知细节 ,融…

Qwen3-Embedding-4B可观测性:日志追踪完整部署指南

Qwen3-Embedding-4B可观测性&#xff1a;日志追踪完整部署指南 1. Qwen3-Embedding-4B&#xff1a;为什么它值得被深度监控 Qwen3-Embedding-4B 不是普通意义上的文本向量模型。它是一套为生产环境而生的嵌入服务核心组件——轻量但不妥协、高效且可解释、开箱即用却支持深度…

YOLO26模型选择策略:n/s/m/l/x版本适用场景对比

YOLO26模型选择策略&#xff1a;n/s/m/l/x版本适用场景对比 在目标检测工程落地中&#xff0c;选对模型比调好参数更重要。YOLO26作为最新一代轻量级高精度检测框架&#xff0c;首次将n/s/m/l/x五种尺度模型统一纳入官方支持体系——但它们绝不是简单地“放大缩小”。实际使用…

上传即修复!fft npainting lama自动化流程解析

上传即修复&#xff01;FFT NPainting LaMa自动化流程解析 你是否遇到过这样的场景&#xff1a;一张精心拍摄的照片&#xff0c;却被路人、电线杆或水印破坏了整体美感&#xff1f;手动修图耗时耗力&#xff0c;PS抠图又需要专业功底。现在&#xff0c;只需一次上传、几笔涂抹…

I2S扩展多通道的方法对比:TDM模式与标准模式详解

以下是对您提供的博文《IS扩展多通道的方法对比:TDM模式与标准模式详解》的 深度润色与专业优化版本 。本次改写严格遵循您的全部要求: ✅ 彻底去除AI痕迹 :语言自然、有技术温度,像一位在音频硬件一线摸爬滚打十年的工程师在和你面对面聊设计; ✅ 打破模板化结构 …

Open-AutoGLM日志查看技巧,快速定位问题所在

Open-AutoGLM日志查看技巧&#xff0c;快速定位问题所在 本文聚焦于 Open-AutoGLM 实际部署与调试过程中的日志分析实战经验&#xff0c;不讲原理、不堆概念&#xff0c;只分享你在连接失败、操作卡顿、模型无响应时&#xff0c;该看哪几行日志、怎么看、为什么这么看。所有技巧…