Maven基础之项目创建、packaging

文章目录

    • [创建 maven 项目流程](#创建 maven 项目流程)
    • [骨架是浮云,packaging 是关键](#骨架是浮云,packaging 是关键)

创建 maven 项目流程

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

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

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

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

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

其项目目录结构如下:

text 复制代码
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 元素决定了你的项目结构(的正确性):

text 复制代码
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 包。

相关推荐
嘟嘟w2 小时前
什么是UUID,怎么组成的?
java
通往曙光的路上2 小时前
认证--JSON
java
期待のcode2 小时前
springboot热部署
java·spring boot·后端
222you2 小时前
Spring框架的介绍和IoC入门
java·后端·spring
毕设源码-朱学姐2 小时前
【开题答辩全过程】以 基于Java的人体骨骼健康知识普及系统为例,包含答辩的问题和答案
java·开发语言
喵手2 小时前
集合框架概述:让数据操作更高效、更灵活!
java·集合·集合框架
Java爱好狂.2 小时前
如何用JAVA技术设计一个高并发系统?
java·数据库·高并发·架构设计·java面试·java架构师·java八股文
sheji34162 小时前
【开题答辩全过程】以 基于JAVA的社团管理系统为例,包含答辩的问题和答案
java·开发语言
油丶酸萝卜别吃2 小时前
lombok的几个核心注解是什么?
java·tomcat
毕设源码-邱学长3 小时前
【开题答辩全过程】以 个性化新闻推荐系统为例,包含答辩的问题和答案
java