使用 x、y、z 三个向量作为空间的坐标系,可以在空间中唯一的定位到一个点
使用三个向量在 Maven的仓库 中唯一的定位到一个 jar 包
举例:
坐标:
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
上面坐标对应的 jar 包在 Maven 本地仓库中的位置:
Maven 本地仓库根目录\javax.servlet\servlet-api\2.5\servlet-api-2.5.jar
创建指定的工作空间目录:
例如:
F:\Java\学习案例\MavenCommand
运行 mvn archetype:generate 命令,生成Maven工程
生成后配置我们的Maven工程,一共默认有 10 种Maven工程类型。默认为 7,快速开发类型;
1: internal -> org.apache.maven.archetypes:maven-archetype-archetype (An archetype which contains a sample archetype.)
2: internal -> org.apache.maven.archetypes:maven-archetype-j2ee-simple (An archetype which contains a simplifed sample J2EE application.)
3: internal -> org.apache.maven.archetypes:maven-archetype-plugin (An archetype which contains a sample Maven plugin.)
4: internal -> org.apache.maven.archetypes:maven-archetype-plugin-site (An archetype which contains a sample Maven plugin site.
This archetype can be layered upon an existing Maven plugin project.)
5: internal -> org.apache.maven.archetypes:maven-archetype-portlet (An archetype which contains a sample JSR-268 Portlet.)
6: internal -> org.apache.maven.archetypes:maven-archetype-profiles ()
7: internal -> org.apache.maven.archetypes:maven-archetype-quickstart (An archetype which contains a sample Maven project.)
8: internal -> org.apache.maven.archetypes:maven-archetype-site (An archetype which contains a sample Maven site which demonstrates
some of the supported document types like APT, XDoc, and FML and demonstrates how
to i18n your site. This archetype can be layered upon an existing Maven project.)
9: internal -> org.apache.maven.archetypes:maven-archetype-site-simple (An archetype which contains a sample Maven site.)
10: internal -> org.apache.maven.archetypes:maven-archetype-webapp (An archetype which contains a sample Maven Webapp project.)
↓翻译↓ 1:内部→org.apache.maven。原型:maven-原型-原型(包含一个样本原型的原型) 2:内部→org.apache.maven。原型:maven- prototype - J2EE -simple(包含一个简化的J2EE应用程>序示例的原型。) 3:内部→org.apache.maven。Maven - prototype: Maven - prototype -plugin(一个包含Maven插件示例的原型) 4:内部→org.apache.maven。Maven - prototype -plugin-site(一个包含Maven插件站点示例的原型。 这个原型可以叠加在现有的Maven插件项目上。) 5:内部→org.apache.maven。原型:maven- prototype - Portlet(包含一个示例JSR-268 Portlet的原型。) 6:内部→org.apache.maven。原型:maven-archetype-profiles () 7:内部→org.apache.maven。prototype: Maven - prototype -quickstart(一个包含Maven项目示例的原型。) 8:内部→org.apache.maven。prototype: Maven - prototype -site(一个包含Maven示例站点的原型 支持的一些文档类型,如APT、XDoc和FML,并演示如何使用 到i18n您的站点。这个原型可以叠加在现有的Maven项目上。) 9:内部→org.apache.maven。prototype: Maven - prototype -site-simple(一个包含Maven站点示例的原型。) 10:内部→org.apache.maven。Maven - prototype - Webapp(一个包含Maven Webapp项目示例的原型。)
当指定好创建的 maven 模式后,需要配置配置 groupId
Define value for property 'groupId': 配置 groupId
配置完 组ID 后,还需要配置项目的 ID
Define value for property 'artifactId': 项目ID
当【组ID】和【项目ID】配置完毕后,最后配置 version。
maven默认将版本设置成 1.0-SNAPSHOT 快照版本
Define value for property 'version' 1.0-SNAPSHOT: :
一般来说直接回车即可
之前步骤全部配置完毕,maven会自主的让你确认配置信息是否正确
Define value for property 'package' com.renexdemo.demomaven: :
Confirm properties configuration:
groupId: com.renexdemo.demomaven
artifactId: pro02-maven-java
version: 1.0-SNAPSHOT
package: com.renexdemo.demomaven
Y: :
当 Y::
提示出来,再次回车即可完成项目的创建
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Old (1.x) Archetype: maven-archetype-quickstart:1.1
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: basedir, Value: F:\Java\学习案例\MavenCommand
[INFO] Parameter: package, Value: com.renexdemo.demomaven
[INFO] Parameter: groupId, Value: com.renexdemo.demomaven
[INFO] Parameter: artifactId, Value: pro02-maven-java
[INFO] Parameter: packageName, Value: com.renexdemo.demomaven
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] project created from Old (1.x) Archetype in dir: F:\Java\学习案例\MavenCommand\pro02-maven-java
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 06:47 min
[INFO] Finished at: 2022-06-16T15:47:36+08:00
[INFO] ------------------------------------------------------------------------
Maven 默认生成的工程,对 junit 的依赖是比较低的 3.8.1 版本,我们可以改成更为合适的 4.12 版本
<!--依赖信息配置-->
<!--dependencies复数标签:内部包含dependency单数标签-->
<dependencies>
<!--dependency单数标签:配置一个具体的依赖-->
<dependency>
<!--通过坐标来依赖其他jar包-->
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<!-- 依赖范围 -->
<scope>test</scope>
</dependency>
</dependencies>
<!-- project: 根标签,表示对当前工程进行配置、管理 -->
<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<!--modelVersion:从 Maven2 开始就固定是 4.0.0-->
<!-- 代表当前 pom.xml 所采用的标签结构-->
<modelVersion>4.0.0</modelVersion>
<!-- 坐标信息-->
<!-- groupId:坐标向量之一,代表公司或组织开发的某一个项目-->
<groupId>com.renexdemo.mavendemo</groupId>
<!-- artifactId:坐标向量之一,代表项目下的某一个模块 -->
<artifactId>pro01-maven-java</artifactId>
<!-- version:坐标向量之一,代表当前模块的版本 -->
<version>1.0-SNAPSHOT</version>
<!-- packaging:打包方式 -->
<!-- 取值jar:生成 jar 包,说明这是一个 Java 工程 -->
<!-- 取值 war:生成 war 包,说明这是一个 Web 工程 -->
<!-- 取值pom:说明这个工程是用来管理其他工程的工程 -->
<packaging>jar</packaging>
<name>pro01-maven-java</name>
<url>http://maven.apache.org</url>
<!-- 在 Maven 中定义属性值 -->
<properties>
<!-- 在构建过程中读取源码所用的字符集 -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!--dependencies:配置具体依赖信息,可以包含多个 dependency 标签-->
<dependencies>
<!-- dependency:配置一个具体的依赖信息-->
<dependency>
<!-- 依赖的坐标信息:导入哪个 jar 包,就配置它的坐标信息 -->
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<!--scope:配置当前依赖的范围-->
<scope>test</scope>
</dependency>
</dependencies>
</project>