使用入门
编写POM
1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> |
- 第一行:是XML头,指定了该文档的版本和编码方式
- project:是所有pom.xml的根元素,它还声明了一些POM相关的命名空间及xsd元素,虽然这些元素不是必须的,但是使用它们可以让第三方工具帮助我们快速编辑POM文件。
- modelVersion:指定了当前POM模型的版本,对于Maven2及Maven3来说,它只能是4.0.0。
- groupId:定义了项目属于哪个组,这个组往往和项目所在的组织或公司存在关联。比如在googlecode上建立了一个名为myapp的项目,那么groupId就应该是com.googlecode
- artifactId:定义了而当前Maven项目在组中的唯一ID
- version:指定了项目Hello-World的当前版本——1.0-SNAPSHOT。SNAPSHOT意为快照,表示该项目还处于开发中,是不稳定的版本。
- name:声明了一个对于用户友好的项目名称,这个元素并不是必须的,但是推荐设立,以方便信息交流。
mvn clean compile:清理target、编译
编写测试代码
1 | <?xml version="1.0" encoding="UTF-8"?> |
- dependencies:声明项目依赖,会自动从仓库中去下载对应的jar包
mvn clean test:清理target、测试
打包和运行
mvn clean package:打包
mvn clean install:安装项目到本地仓库
默认打包的jar是不能直接运行的,因为带有main方法的类信息不会添加到MANIFEST.MF文件中,为了生成可执行的Jar,需要借助maven-shade-plugin
使用Archetype生成项目骨架
mvn archetype:generate -DarchetypeCatalog=internal
-DarchetypeCatalog=internal 设置maven不要从远程服务器上获取catalog