首页 > 代码库 > 《Maven实战》笔记之《三、Maven使用入门》
《Maven实战》笔记之《三、Maven使用入门》
一、编写POM
<groupId>com.shine.myapp</groupId><artifactId>hello-world</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging>
- groupId:定义了项目属于哪个组。
- artifactId:定义了当前Maven项目在组中唯一的ID。
- version:定义了项目当前版本。
二、编写主代码
- 1、编写主代码HelloWord。
- 2、执行mvn clean compile,执行顺序:clean:clean、resources:resources、compile:compile。
- clean告诉Maven清理输出目录target/。
- compile告诉Maven编译项目主代码。
三、编写测试代码
1、添加一个POM的依赖Junit:
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.7</version> <scope>test</scope> </dependency></dependencies>
- dependencies元素:改元素下可以包含多个dependency元素,以申明项目的依赖。
- groupId、artifactId、version:Maven能自动在仓库下载unit-4.7.jar。
- scope:为申明范围,若依赖范围为test则表示该依赖对应测试有效;默认值为compile,表示该依赖对主代码和测试代码都有效。
2、编写单元测试代码。
3、执行mvn clean test,执行顺序:clean:clean、resources:resources、compile:compile、resources:testResources、compile:testCompile。
4、配置maven-compile-plugin支持Java6:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.6</source> <target>1.6</target> </configuration></plugin>
四、打包和运行
1、打包:mvn clean package
2、安装:mvn clean install
3、打可执行Main函数的jar,添加maven-shade-plugin插件:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>1.2.1</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer" > <mainClass>com.shine.helloworld.HelloWorld</mainClass> </transformer> </transformers> </configuration> </execution> </executions></plugin>
运行mvn clean package,出现两个jar:hello-world-0.0.1-SNAPSHOT.jar、original-hello-world-0.0.1-SNAPSHOT.jar,前者是可执行的jar、后者是原始jar。
总结:
mvn clean compile、mvn clean test、mvn clean package、mvn clean install中,
mvn clean test 会执行 mvn clean compile;
mvn clean package 会执行 mvn clean test;
mvn clean install 会执行 mvn clean package。
《Maven实战》笔记之《三、Maven使用入门》
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。