02使用入门

使用入门

编写POM

1
2
3
4
5
6
7
8
9
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<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.company.project</groupId>
<artifactId>hello-world</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>hello maven</name>
</project>
  • 第一行:是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
2
3
4
5
6
7
8
9
10
11
12
<?xml version="1.0" encoding="UTF-8"?>
<project>
...
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.7</version>
</dependency>
</dependencies>
...
</project>
  • 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

本文标题:02使用入门

文章作者:Sun

发布时间:2020年01月08日 - 16:01

最后更新:2020年01月08日 - 16:01

原始链接:https://sunyi720.github.io/2020/01/08/Maven/02使用入门/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。