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

Maven基础之项目创建、packaging

在这里插入图片描述

文章目录

    • 创建 maven 项目流程
    • 骨架是浮云,packaging 是关键

创建 maven 项目流程

通过骨架(archetype)创建 maven 工程

  • 第一步:选择 new → maven → Maven Project

  • 第二步New Maven Project 窗口不作任何设置,直接 Next

  • 第三步:选择 maven 的工程骨架,这里我们选择 quickstart ,点击 Next

  • 第四步:输入 GroupIdArtifactIdVersionPackage 信息点击 finish 完成。

其项目目录结构如下:

my-app
├── pom.xml
└── src├── main│   └── java│       └── xxx│           └── yyy│               └── zzz│                   └── App.java└── test└── java└── xxx└── yyy└── zzz└── AppTest.java

[⚠] 注意
maven 项目有"固定的目录结构,与开发工具无关"。无论使用 Eclipse 还是 Intellij IDEA 都是如上的目录结构。

骨架是浮云,packaging 是关键

骨架(archetype)会影响你的 maven 项目的 pom.xml 配置文件的 <packaging>…</packaging> 元素的值,这个值决定了:你的项目是 java 项目,还是 java web 项目

而你的项目是 java 项目,还是 java web 项目又决定了以下 2 件事情:

  1. 你的项目最终是打成 jar 包,还是打成 war 包;

  2. 你的项目的目录结构。

[!‼] 重要
「骨架决定了你的项目的类型(和目录结构)」这只是表像!真正起作用的是 <packaging> 元素的值。

packaging 元素决定了你的项目结构(的正确性)

JAR 项目                   WAR 项目
├── pom.xml                ├── pom.xml
└── src                    └── src├── main                   ├── main│   ├── java               │   ├── java│   └── resources          │   ├── resources│                          │   └── webapp  <- 注意└── test                   └── test├── java                   ├── java└── resources              └── resources
  • maven-archetype-quickstart 骨架会导致 <packaging>jar</packaging> 。而 jar 表示本项目是一个 Java 项目,最终要打成 jar 包。jar 也是也是 <packaging> 的默认值。

  • maven-archetype-webapp 骨架会导致 <packaging>war</packaging> 。而 war 表示本项目是一个 Java Web 项目,最终要打成 war 包。

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

相关文章:

  • c++ std::map 使用注意事项
  • Camera HAL/ISP 专业术语大全
  • POI的简单入门
  • 如何将笔记本作为另一台电脑的副屏显示
  • 深入理解正则表达式:为什么它在Java中如此重要?
  • jmeter实现webservice接口测试
  • js 四舍五入保留一位小数 求百分比
  • 文件上传漏洞总结2
  • 【组内工作】木马回联
  • 未来将会有更多基于 Cortana 的设备
  • 嵌入式硬件系统的基本组成
  • def __init__(self, **kwargs):中的**kwargs是什么意思
  • web攻击面试|网络渗透面试(三)
  • 数据分析方法
  • Spring全家桶---白虎篇
  • 深度优先搜索|79, 695,212
  • 论文阅读与管理方法论
  • 基于OAI与Ueransim的5G网络切片平台构成简述
  • 论文笔记:Adjusting for Autocorrelated Errors in Neural Networks for Time Series
  • DataEase开源BI工具安装_数据全量_增量同步_大屏拖拽自动生成_多数据源支持_数据血缘分析---大数据工作笔记0183
  • 如何提升程序员的软素质
  • msvcp100.dll丢失怎么修复,这三个常用的修复方法可以解决
  • python实现递推算法解决分鱼问题
  • 【LeetCode】142.环形链表Ⅱ
  • 16.Netty源码之ChannelPipeline
  • “使用Spring Boot构建微服务应用的最佳实践“
  • redis高可用之主从复制,哨兵,集群
  • 【Ajax】笔记-原生jsonp跨域请求案例
  • QT--day2(信号与槽,多界面跳转)
  • 热备份路由协议原理