maven

本文详细介绍了Maven作为软件项目管理和理解工具的核心功能,包括基于项目对象模型(POM)的概念,Maven的安装与配置,如何通过Maven创建项目,以及POM文件的元素解析。此外,还解释了Maven坐标系统,以及如何使用Maven进行项目打包。
摘要由CSDN通过智能技术生成

废话少说我打开了maven官网。

Maven中官网的一句话
Apache Maven is a software project management and comprehension tool
软件项目管理和理解工具。
Based on the concept of a project object model (POM),
基于对象项目模型概念。

安装maven这种就不说直接来吧!!不会官网看!!

首先maven是java工具,你首先得有java并且配置了环境变量。

安装并且配置完maven后,使用maven --version进行查看maven版本信息。
接着我们通过maven来创建项目

mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
你会发现多了一个文件夹my-app进入后
在这里插入图片描述
pom.xml就描述了POM
SRC目录表示源码
target表示编译后的代码

在这里插入图片描述
main:表示源代码文件夹
test: 表示测试文件夹

我们执行命令

mvn pacage

我们发现多了 target文件夹中多了一个jar包在这里插入图片描述
我们可以通过java指令执行一下

java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App

它打印
在这里插入图片描述
基本应该明白了mavn做什么了吧

接下来深入理解maven:
maven
在maven中不需要提供代码,只需要包含一个pom.xml。
下面是pom.xml的元素

<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“ >
4.0.0 </ modelVersion>

<!-基础知识->
… </ groupId>
… </ artifactId>
… </ version>
… </ packaging>
… </ dependencies>
… </ parent>
… </ dependencyManagement>
… </ modules>
… </ properties>

<!-构建设置->
… </ build>
… </ reporting>

<!-更多项目信息->
… </ name>
… </ description>
… </ url>
… </ inceptionYear>
… </ licenses>
… </ organization>
… </ developers>
… </ contributors>

<!-环境设置->
… </ issueManagement>
… </ ciManagement>
… </ mailingLists>
… </ scm>
… </ prerequisites
… </ repositories>
… </ pluginRepositories>
… </ distributionManagement>
… </ profiles>
</ project>

注意这个里面4.0.0
这个必须包含,并且是当前唯一支持的POM版本。

POM包含有关项目的所有必要信息,以及在构建过程中使用的插件的配置。它是“ who”,“ what”和“ where”的声明性体现,而构建生命周期是“ when”和“ how”。这并不是说POM不能影响生命周期的流程,而是可以。例如,通过配置maven-antrun-plugin,可以将Apache Ant任务嵌入到POM中。但是,它最终是一个声明。尽管a build.xml可以准确地告诉Ant运行时该怎么做(过程性),而POM则声明其配置(声明性)。

上面所诉的是POM的作用

maven的坐标
maven必填字段 groupId:artifactId:version 不过如果从父级继承的话,就无需显示定义
groupId:这在组织或项目中通常是唯一的。
artifactId:artifactId通常是已知项目的名称。
version:groupId+argifactID为一个项目的话,那么version就是指定该项目的模板。

打包:

<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“ >
  ...
  <packaging> war</ packaging>
  ...
</ project>

默认是jar,如果没有申明的话,
当前的核心包装值是:pom,jar,maven-plugin,ejb,war,ear,rar。

后面继续更新,时间有点晚了,先睡了!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值