废话少说我打开了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。
后面继续更新,时间有点晚了,先睡了!!