项目打包发布之war包和jar包

OpenClaw实战系列03:Slack/Telegram国际版接入实战指南 在当今的软件开发和工作流自动化中,将项目管理工具与即时通讯平台集成已成为提高团队协作效率的关键。OpenClaw作为一个开源的自动化工具,通过接入Slack和Telegram国际版,可以实现实时通知、自动化任务触发和团队协作的无缝对接。本文将详细介绍如何实现OpenClaw与这两个主流即时通讯平台的集成。OpenClaw是一个开源的自动化工作流引擎,支持多种触发器和执行器,能够帮助开发团队实现CI/CD流程、任务调度、监控告警等自动化场景。模块化设计:支持插件化扩展多触发器支持。 阅读详情

一 概述

当我们的项目完成并且需要上到服务器的调试或者发布的时候,我们需要将我们完成的项目进行打包,然后deploy到我们的应用服务器上。一般我们都是将项目打包成jar包或者是war包,现在让我们看看打包后的jar包或者是war包都是什么内容呢。

二 war包

1. war包的内容:WAR(Web Archive file)网络应用程序文件,是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。Java Web程序都是打成war发布部署,war包里面包含了代码编译成的class文件,依赖的包,配置文件,所有的网页文件,包括html,js等文件。其实,一个war包可以看作一个可以直接deploy到应用服务器上的web项目,因为war包里面包含了项目中的全部内容。

2. war包的作用:将javaWeb项目打包后进行部署。

3. war包的目录结构:war包里的WEB-INF里放的class文件和配置文件,META-INF和jar包作用一样,war包里还包含静态资源的文件。

webapp.war 
  |    index.jsp(可选)              // 静态资源文件,如jsp,html,css等文件
  | 
  |— images 
  |— META-INF                       // Maven自动生成的目录
  |— WEB-INF                        // 必须存在WEB-INF文件夹与web.xml文件来说明这是一个War包
  |        |   web.xml              // war包的描述文件    
  |        | 
  |        |— classes 
  |        |          action.class  // java类文件编译后的字节码文件
  |        | 
  |        |— lib 
  |        |         other.jar      // 依赖的jar包 
  |        |         share.jar
  |
  |— subDirectories                 // 可选目录可以放静态web资源文件,如jsp,html,css等文件
  | 

4. Idea将项目打成war包的pom文件:<packaging>war</packaging>

<?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.9.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <groupId>com.apple</groupId>
    <artifactId>family</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>family</name>

     <!-- 指定将项目打成war包 -->
    <packaging>war</packaging>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

 <dependencies>
   <!--添加对tomcat的支持-->  
   <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>

5. war包的部署:javaWeb项目可以直接用war包部署。

三 jar包

1. jar包的内容:jar包是类的归档文件,JAR文件格式以流行的ZIP的文件格式为基础,但是与ZIP文件格式不同的是,jar包不仅仅是用于压缩和发布,而且还用于部署和封装库,组件和插件程序,并可被像编译器和JVM这样的工具直接使用。

2. jar包的作用:作为工具包和类库;这个是最基本的作用,在大型项目中,一般会依赖N多JAR包。作为应用工程和扩展的构建单元;开发大型应用的时候,一般会将应用分成几个单元,每个单元用jar包封装,并相互依赖。作为组件、applet 或者插件程序的部署单位;用于打包与组件相关联的辅助资源。

3. jar包的目录结构:jar包里的com里放的就是class文件,配置文件,但是没有静态资源的文件,大多数 JAR 文件包含一个 META-INF 目录,它用于存储包和扩展的配置数据,如安全性和版本信息。

tools.jar 
  |  resource.xml                    // 项目的资源配置文件 
  |  other.xml 
  | 
  |— META-INF           
  |            MANIFEST.MF          // jar包的描述文件 
  |— com                            // 项目中类的包目录 
  |      |—test  
  |                util.class       // java类文件编译后的class文件

4. Idea将项目打成jar包的pom文件:<packaging>jar</packaging>

<?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.9.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <groupId>com.apple</groupId>
    <artifactId>family</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>family</name>

     <!-- 指定将项目打成jar包 -->
    <packaging>jar</packaging>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

 <dependencies>
   <!--添加对tomcat的支持-->  
   <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>
 

5. jar包的部署:SpringBoot项目可以直接将项目打成jar包部署,因为Springboot内置了应用web服务器tomcat。

四 Idea打包步骤

View——>Tool  Windows——>Maven——>Lifecycle——>package,先双击clean,然后双击package,Idea就会将项目打包成pom文件设置的war包或者jar包文件,并且自动保存在项目的target目录下。

 

五 总结

  • javaWeb项目需要打包成war包,war包和项目的文件结构保持一致。

  • jar包和项目的文件结构不同,jar包不包含web.xml文件和静态资源文件(html,jsp,image,css等)。

 

 

 

运维系列【仅供参考】: Windos10和Windos11 配置intel网卡vlan的方法 Windos10和Windos11 配置intel网卡vlan的方法 阅读详情

相关推荐

Dify实战应用指南(上传需求稿生成测试用例)

摘要: Dify是一款开源大语言模型应用开发平台,通过低代码/无代码方式支持AI应用开发。平台提供五种核心应用类型,包括聊天助手、文本生成、Agent、ChatFlow和Workflow,适用于不同场景。本文以ChatFlow为例,演示如何上传需求稿自动生成测试用例。通过条件分支、文档提取器和LLM设置,实现从需求文档到测试用例的自动化转换,显著提升测试效率并降低人工误差。该方案适用于需要快速生成测试用例的软件开发场景,尤其适合非技术人员使用。

Linda的自动化测试之旅 2745

java war包是什么_jar包和war包区别是什么?

1.jar包的介绍JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。JavaSE程序可以打包成Jar包(J其实可以理解为Java了)。JAR 文件格式以流行的 ZIP 文件格式为基础。与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。在 JA...

weixin_35711352的博客 1380

DrawCall、Batches、SetPassCalls的区别和联系

一、DrawCall、Batches、SetPassCalls的基本理解 我们先从图形渲染的角度对这些概念做一个基本的理解。 1.1 DrawCall DrawCall实际上指的是一次图形渲染接口的调用,比如OpenGL的glDrawArrays或者glDrawElements的一次调用,以及DirectX的DrawPrimitive或者DrawIndexedPrimitive。因此,DrawCall可以简单理解为一次渲染指令调用。 1.2 Batches 我们知道,在调用DrawCall之前,需要设置渲染

远行's Blog 6378

actual combat 16——jar包和war包

java项目可以打成jar包或者war包,以前前后端不分离的项目,一般都是达成war包,现在前后端分离项目,一般都是打成jar包,好像是因为war包包含前端静态资源,jar包不包含。当然前后端分离项目打成war包也可以。 总结:...

HSH541的博客 1323

比亚迪唐/秦开发者必看:253个车辆接口实战指南(附常用功能调用示例)

本文为比亚迪唐/秦开发者提供了一份详尽的车辆接口实战指南。文章聚焦于比亚迪开放的253个车辆接口,从开发环境搭建、核心状态监控到高频控制功能(如空调与充电管理),结合真实代码示例,帮助开发者快速上手并规避常见问题,高效开发车载应用。

weixin_28327051的博客 614

AI 模型训练核心方法论:零基础也能落地的 8 个关键阶段

本文是为 AI 零基础学习者打造的模型训练入门指南,以生活化语言拆解核心概念,规避专业术语壁垒。内容先通俗阐释模型训练、监督学习、数据集划分等基础概念,再按问题定义、数据准备、模型选择、环境搭建、训练、评估、调参、部署 8 个阶段,拆解完整训练流程,搭配 PyTorch 代码示例与实战案例,同时提供资源预算、常见问题解决方案及学习路径。指南强调数据的核心重要性,推荐新手优先使用迁移学习和免费 GPU 资源,兼顾理论与实操,帮助学习者快速上手,避开训练误区,独立完成从模型搭建到部署的全流程。

weixin_52741870的博客 469

什么是war文件以及如何打开

war文件 war是一种web应用程序格式,包含了web应用程序中的所有内容。在这个文件中的所有内容将按一定的目录结构来组织,一般情况下war文件中包含了html,jsp文件或者含有这两种文件的目录。另外它里面还含有一个web-inf目录,在这个目录下存放的是应用配置文件web.xml以及classes目录,classes目录里面包含了编译好的Servlet类和Jsp或Servlet所依赖的其它类。由于war文件将所有的文件合并成一个,因此减少了文件的传输时间 ...

qq_44625599的博客 6690

11、iOS设备逻辑数据分析全解析

本文深入解析iOS设备中的逻辑数据,涵盖图像相关数据库(Photos.sqlite和PhotosAux.sqlite)、录音文件、iPhoto照片存储结构、多媒体文件、第三方应用程序、社交网络应用(如Twitter、Skype、Facebook等)以及苹果相关应用(如Google Mobile、Bing)的数据存储结构和取证方法。此外,还介绍了文档类应用(如Pages、Numbers、Documents To Go)的文件存储结构及恢复方法。适用于iOS取证、数据挖掘和数字调查领域。

rain6的博客 226

什么是war文件

Web 归档(WAR)是一个用于存储一个或多个下列内容的 Java 归档文件。 小服务程序 JavaServer Page(JSP)文件 实用程序类 静态文档,比如 HTML 文件、图像和声音。 客户机端小应用程序、bean 和类 描述性元信息 它的标准文件扩展名是 .war。WAR 文件用于封装 Web 模块。 Web 模块可代表一个独立的 Web 应用程序,它也可与其

kewb_2013的专栏 2079

《谷歌数据分析方法》脑图笔记

目录壹、脑图笔记贰、《谷歌数据分析方法》脑图文稿[^1]一、 反思数据分析二、选择数据分析工具的最佳策略第一步:选择数据分析工具前要回答的3个关键问题第二步:选择数据分析工具前要问供应商的10个问题第三步:如何有效地试用数据分析工具第四步:确定合作前的协议,检查供应商的服务条款三、点击流分析的精彩世界:指标8个关键网站指标数据分析指标揭秘关键网站指标的战略性策略四、成功的关键:衡量绩效关注“少数关键指标”衡量非电子商务网站的成功衡量B2B网站五、调研和测试永不过时的3个最佳调研问题选择线上调研供应商的8个建

积跬步,慕至千里的博客 2928

【SpringBoot 4.x 第70节】夯爆了,企业级 API 设计规范落地:状态码、错误码、接口文档与兼容性(超详解)!

🏆 本文收录于 《滚雪球学 Spring Boot 4.x》 专栏。本专栏面向 有一定 Java 基础,但尚未系统学习 Spring Boot 的读者,采用“滚雪球式学习法”:先跑通、再理解、再重构、再上线,带你从第一个 Hello API 开始,逐步完成一个可部署、可监控、可扩展的后端项目。

**My Coding Family** 133

什么是war格式文件,war格式文件如何使用

其实war文件就是Java中web应用程序的打包。借用一个老兄的话,“当你一个web应用程序很多的时候,如果你想把它部署到别的机器上,来回拷这些文件是件挺郁闷的事情,如果要是一个文件就好了。。。那么war文件就可以满足你这个小小的要求”。 那有人会说,这和直接打成rar文件不一样吗?区别大了! 如果你直接打成rar文件,你得手动的...

技术超强的网络安全平台 1292

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

maven项目(包括springboot等)引入本地jar时打jar或者war包发布,报找不到引入的jar包的问题解决方案

在maven项目中很多时候可能需要我们通过add reference方式引入的本地的jar包,而且自己在本地运行也是没有任何问题,但是在打包发布的时候就会报错找不到自己引入的文件,比如: 惊不惊喜?意不意外? 在这里,说下如何解决类似的问题。首先,我们在通过上述方式引入的时候只是说我们run的时候自己本地项目知道根据你导入jar的路径去加载jar包,所以会没问题。但是!打包之后,这个jar...

张步云的专栏 8850

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

jar包和war包有什么区别?

jar,war

wys0127的博客 850

使用IDEA打包项目(jar包和war包)

介绍 jar包 假设将整个项目视为一堵墙,那么jar包就是砖块,将写好的类进行打包的过程就是烧制砖块的过程。jar包是class文件和部署文件的归档,不包含静态文件,它不仅用于压缩和发布,还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 之类的工具直接使用,jar包在产品开发阶段较为常用 war包 war包是将项目的所有东西都打包,解压后项目可以直接运行。将war包放到tomcat\webapps\目录下,启动tomcat,war包就会自动解压,也就是将项目发布了,war包中包括class文件、

小白典的博客 6509

SpringBoot项目的两种发布方式(jar包和war包)

SpringBoot项目的两种发布方式(jar包和war包)

相关项目可以查看https://gitee.com/fan-pl或https://github.com/fpl1116 1362

11.jar包和war包的区别

通常是开发时要引用通用类,打成jar包便于存放管理。当你使用某些功能时就需要这些jar包的支持,需要导入jar包。

独孤东方朔的博客 1832

jar包和war包的介绍和区别

做Java开发,jar包和war包接触的挺多的,有必要对它们做一个深入的了解,特总结整理如下: 1.jar包的介绍 JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。JavaSE程序可以打包成Jar包(J其实可以理解为Java了)。 JAR 文件格式以流行的 ZIP 文件格式为基础。与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。在 JAR 中包含特

Record_Algorithm 152

SpringBoot项目的发布与运行

SpringBoot项目的发布与运行,在Windows中运行jar包,在Windows中运行war包,在Linux中运行jar包,在Linux中运行war包,

weixin_44362089的博客 3096

jar包和war包区别及理解

在开发阶段不适合使用war包,因为在开发阶段,经常需要添加或删除Web应用程序的内容,更新 Servlet类文件,而每一次改动后,重新建立war包将是一件浪费时间的事情。在产品发布阶段,使用war文件比较合适的,因为在这个时候,几乎不需要再做什么改动了。 jar包 jar是类的归档文件 JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件,为 J2EE 应用程序创建的jar文件是 EAR 文件(企业 jar文件),jar文件格式以流行的 ZIP

gb4215287的博客 170

了解war包和jar包

一、介绍 1、war war包是Sun提出的一种web应用程序格式,是一种打包格式,与jar类似,是很多文件的压缩包,java web工程打包成war包进行发布,这种打包方式打包的文件是java web项目的所有文件,不会缺少目录。发布时将war包直接放在tomca目录的webapp下,重启服务即可运行此项目。 2、jar JAR是与平台无关的文件格式,是一种类的归档文件,以ZIP格式构建,以.j...

像风走过八千里 1264

java的jar包和war包_JAVA中jar包和war包的区别是

其实jar包和war包都可以看成压缩文件,用解压软件都可以打开,jar包和war包所存在的原因是,为了项目的部署和发布,通常把项目打包,通常在打包部署的时候,会在里面加上部署的相关信息。这个打包实际上就是把代码和依赖的东西压缩在一起,变成后缀名为.jar和.war的文件,就是我们说的jar包和war包。 但是这个“压缩包”可以被编译器直接使用,把war包放在tomcat目录的webapp下,tom...

weixin_42610671的博客 316

jar包和war包的区别

在开发阶段不适合使用war包,因为在开发阶段,经常需要添加或删除Web应用程序的内容,更新 Servlet类文件,而每一次改动后,重新建立war包将是一件浪费时间的事情。在产品发布阶段,使用war文件比较合适的,因为在这个时候,几乎不需要再做什么改动了。 jar包 jar是类的归档文件 JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件,为 J2EE 应用程序创建的jar文件是 EAR 文件(企业 jar文件),jar文件格式以流行的 ZIP

csdn_guotao的博客 116

【转】jar包和war包的介绍和区别

JavaSE程序可以打包成Jar包(J其实可以理解为Java了),而JavaWeb程序可以打包成war包(w其实可以理解为Web了)。然后把war发布到Tomcat的webapps目录下,Tomcat会在启动时自动解压war包。 JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。为 J2EE 应用程序创建的 JAR 文件是 EAR

zhanglao33的博客 524

Spring boot项目打war、jar包发布运行

1.Spring boot项目打war包发布运行 (1)修改pom.xml文件 <!--打war包--> <packaging>war</packaging> <dependency> <groupId>org.springframework.boot</groupId> <artifactI...

Carlos An 206

java war包_Java 的WAR包、JAR包、EAR包介绍

WAR包WAR(Web Archive file)网络应用程序文件,是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。War专用于Web方面。大部分的JAVA WEB工程,都是打成WAR包进行发布的。War是一个web模块,其中需要包括WEB-INF,是可以直接运行的WEB模块。通常用于网站,打成包部署到容器中,以tomcat来说,将war文件包放置它的webapps目录下,启动Tomc...

weixin_39517859的博客 249

java ear war_Java 的JAR包、EAR包、WAR包介绍

WAR包WAR(Web Archive file)网络应用程序文件,是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。War专用于Web方面。大部分的JAVA WEB工程,都是打成WAR包进行发布的。War是一个web模块,其中需要包括WEB-INF,是可以直接运行的WEB模块。通常用于网站,打成包部署到容器中,以tomcat来说,将war文件包放置它的\webapps\目录下,启动To...

weixin_28758189的博客 133
上一篇: 使用git 查看开发者某段时间的编码量
下一篇: 简单实现网站灰色效果以谨记2020年4月4日悼念日
至学者
博客等级 码龄9年 180粉丝 773原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值