-
Maven是什么?
一个项目构建工具.为开发者提供了一套完整的构建项目生命周期的框架.
-
约定优于配置
在没有自定义的情况下,源代码,资源文件,测试代码都有固定的位置.
-
创建一个简单的项目
在命令行输入
mvn archetype:generate -DgroupId=com.lkc.helloworld -DartifactId=helloworld -Dpackage=com.lkc.helloworld -Dversion=1.0-SNAPSHOT
回车之后就建好了一个maven项目,archetype是maven的一个插件,generate就是一个目标,maven真正做的事通过执行插件的目标来完成,自己只做一些依赖的东西;
接下来的所有-DName=value就是将参数传到目标中;
groupId就是所在的组的标识符;
artifactId就是项目标识符;
package是包名;
version就是版本号.
之后查看下目录结构:. └── helloworld ├── pom.xml └── src ├── main │ └── java │ └── com │ └── lkc │ └── helloworld │ └── App.java └── test └── java └── com └── lkc └── helloworld └── AppTest.java
archetype新建了一个与artifactId相同的helloworld目录,是项目的基础目录.
pom.xml描述了项目,配置了插件,声明了依赖.
src/main是项目的源码目录.
src/test是项目的测试目录. -
构建一个项目
上一节新建了一个项目,那我们肯定不想让它建好了就放在那不用,肯定希望构建并打包这个项目,可以通过
mvn install
来构建,但要在pom.xml这个文件所在的位置下执行.
执行完毕后在命令行输入java -cp target/simple-1.0-SNAPSHOT.jar com.lkc.helloworld.App
运行你的项目,会打印出
Hello World!
运行成功
-
项目的对象模型
当Maven运行时它向项目对象模型查看关于项目的相关信息,pom.xml回答了这个项目是什么类型的,这个项目的名称是什么类似的问题;下面来看一下刚刚的pom文件:
<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>4.0.0</modelVersion> <groupId>com.lkc.helloworld</groupId> <artifactId>helloworld</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <name>helloworld</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project>
groupId,artifactId,packaging,version是Maven的坐标,唯一地标识了这个项目;
name和url描述了项目的名字和站点;
dependencies定义了一个单独的测试范围依赖;
Maven通过pom.xml让项目跑起来. 常用的Maven命令
| mvn test-compile | 编译测试代码 |
| mvn test | 运行测试 |
| mvn package | 打包项目 |
| mvn archetype:generate | 创建Maven项目 |
| mvn clean | 清理项目(删除target文件夹) |
Maven入门
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...