Maven入门
来源:互联网 发布:快牙软件下载 编辑:程序博客网 时间:2024/06/07 11:23
Maven入门
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 compile 编译源代码 mvn test-compile 编译测试代码 mvn test 运行测试 mvn package 打包项目 mvn archetype:generate 创建Maven项目 mvn clean 清理项目(删除target文件夹)
- maven 入门
- maven 入门
- MAVEN 入门
- Maven入门
- maven入门
- maven入门
- Maven 入门
- Maven入门
- maven 入门
- Maven入门
- maven入门
- maven 入门
- maven入门
- Maven入门
- maven入门
- Maven入门
- maven入门
- Maven入门
- vi 装逼指南
- 【爱情叙记】--刚闹完别扭
- Myeclipse中导出类图
- 【操作系统】IO
- 51. yii csrf
- Maven入门
- linux下将.a文件链接到.so文件的问题
- Kotlin基础教程-扩展
- 适配器模式【Adapter Pattern】
- Java ArrayList、LinkedList、Vector的区别
- tcpdump使用示例
- MongoDB在shell以及PHP 中连接方式
- vr/360——toolofna
- 【知识点】 ---寻找第n个素数