当前位置: 首页 > news >正文

Java项目中jar war pom包的区别

1、pom:用在父级工程或聚合工程中,用来做jar包的版本控制,必须指明这个聚合工程的打包方式为pom。

<project ...>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.wong.tech</groupId>
  <artifactId>myproject</artifactId>
  <packaging>pom</packaging>
  <version>1.0.0</version>
  <name>myproject</name>
  <url>http://maven.apache.org</url>
  <!--模块(有时称作子项目) 被构建成项目的一部分。列出的每个模块元素是指向该模块的目录的相对路径 -->
  <modules>
        <module>SubProject1</module>
        <module>SubProject2</module>
        <module>SubProject3</module>
  </modules>
 ...
  </project>

而moudle即子项目中为 

<project
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
        xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <modelVersion>4.0.0</modelVersion>
        <artifactId>myproject-subproject1</artifactId>
        <packaging>jar</packaging>
        <name>myproject-subproject1</name>
        <version>1.0.0</version>
        <url>http://maven.apache.org</url>
        <parent>
                <groupId>com.wong.tech</groupId>
                <artifactId>myproject</artifactId>
                <version>1.0</version>
                <relativePath>../pom.xml</relativePath>
        </parent>
        ...
</project>

聚合工程只是用来帮助其他模块构建的工具,本身并没有实质的内容。具体每个工程代码的编写还是在生成的工程中去写。
对于在父工程中导的依赖工程也可享有。

2、jar:工程的默认打包方式,打包成jar用作jar包使用。存放一些其他工程都会使用的类,工具类。我们可以在其他工程的pom文件中去引用它

我们的springboot项目一般都是用的jar包,这也是默认的方式,我们使用jar包之后我们就能够在到dependency中进行依赖,因为只有jar包才可以进行依赖。

3、 war:将会打包成war,发布在服务器上,如网站或服务。用户可以通过浏览器直接访问,或者是通过发布服务被别的工程调用

war包是我们在java web阶段使用的,这时候我们可以使用tomcat插件就能够运行我们的javaweb项目,或者我们可以将war包放在我们的tomcat的webapp目录下,启动 tomcat就会自动将war包进行解压,然后运行。

传统 web 项目启动方式:在 eclipse 的 tomcat 插件中导入项目,然后启动 tomcat,项目也启动了。或者将项目打成 war 包,放入 tomcat 中,

而 Spring Boot 项目启动:如下图所示,在 eclipse 中打开 HelloWorldApplication.java(即项目的主启动类,一般有 @SpringBootApplication 注解),这是一个带有 main 方法的类,点击 main 方法,右键 run as -java application springboot项目是自动集成了tomcat。

参考博客 Spring Boot:传统 Web 项目与采用 Spring Boot 项目区别 - colin220 - 博客园 (cnblogs.com)

Java: war包的作用及使用方法,如何解压后缀名为war的文件 - 筱筱的春天 - 博客园 (cnblogs.com)

Maven的三种项目打包方式——pom,jar,war的区别_pom打包方式_Mr.史的博客-CSDN博客

(36 封私信 / 81 条消息) javaweb、spring、springmvc和springboot有什么区别,都是做什么用的? - 知乎 (zhihu.com) maven的<packaging>pom</packaging>如何使用_packaging pom_wh柒八九的博客-CSDN博客

http://www.lryc.cn/news/154193.html

相关文章:

  • 整理mongodb文档:分页
  • 社区团购新玩法,生鲜蔬菜配货发货小程序商城
  • shell bash中设置命令set
  • 机器学习---预剪枝、后剪枝(REP、CCP、PEP、)
  • Python 爬虫—scrapy
  • ABB机器人20032转数计数器未更新故障报警处理方法
  • C# 记事本应用程序
  • 模型训练:优化人工智能和机器学习,完善DevOps工具的使用
  • WorldCoin 运营数据,业务安全分析
  • Java之Calender类的详细解析
  • uniapp 微信小程序 锚点跳转
  • 主成分分析笔记
  • android studio 的 adb配置
  • 【HTML5高级第一篇】Web存储 - cookie、localStorage、sessionStorage
  • Flink---1、概述、快速上手
  • QT实现TCP通信(服务器与客户端搭建)
  • 云备份项目
  • 基础算法(一)
  • Consider defining a bean of type问题解决
  • Android 1.2.1 使用Eclipse + ADT + SDK开发Android APP
  • Llama-7b-hf和vicuna-7b-delta-v0合并成vicuna-7b-v0
  • Centos、OpenEuler系统安装mysql
  • 如何在Win10系统上安装WSL(适用于 Linux 的 Windows 子系统)
  • 单片机通用学习-​什么是寄存器?​
  • 【C语言】文件操作详解
  • 栈(Stack)的详解
  • 深入了解GCC编译过程
  • leetcode 594.最长和谐子序列(滑动窗口)
  • 深入剖析云计算与云服务器ECS:从基础到实践
  • 苍穹外卖技术栈