Maven学习笔记003——使用入门
来源:互联网 发布:小米抢购软件 源码 编辑:程序博客网 时间:2024/04/30 22:23
Maven约定:项目的根目录放置pom.xml
1. 创建一个名为maven-standard-demo文件夹,新建一个pom.xml文件
D:\workspace\Maven\maven-standard-demo
Pom.xml文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<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.charlie.mavendemo</groupId>
<artifactId>maven-standard-demo</artifactId>
<version>1.0-SNAPSHOT</version>
<name>Maven Standard Demo</name>
</project>
2. Maven目录约定
在maven-standard-demo目录下创建如下文件夹src/main/java存放项目主代码;
然后创建main/java主代码下创建com/charlie/mavendemo目录
在maven-standard-demo目录下创建如下文件夹src/test/java存放测试代码
然后创建test/java主代码下创建com/charlie/mavendemo目录
编写主代码:main/java/mavendemo/helloword/HelloWord.java
package com.charlie.mavendemo.helloword;
public class HelloWorld {
public String sayHello(){
return "Hello Maven";
}
public static void main(String[] args){
System.out.println(new HelloWorld().sayHello());
}
}
编写测试代码:test/java/mavendemo/helloword/HelloWordTest.java
package com.charlie.mavendemo.helloword;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
public class HelloWorldTest {
@Test
public void testSayHello(){
HelloWorld helloworld = new HelloWorld();
String result = helloworld.sayHello();
assertEquals("Hello Maven",result);
}
}
3. 编译
在项目目录D:\workspace\Maven\maven-standard-demo下执行
>mvn clean compile
生成target目录和target/classes目录
4. 测试
再次执行mvn clean test
在target目录下生成了surefire、surefire-reports、和test-classes三个目录,出测试报告
5. 打包
>mvn clean package
执行了编译、测试,且生成JAR文件
6. 运行
可以让其他Maven项目引用生成的JAR
>mvn clean install
执行了编译、测试、打包,且会生成目录maven-archiver
7. 生成可执行的JAR
默认打包生成的JAR是不能直接运行的,带main方法的类信息不会添加到manifest中
编辑pom.xml,在<project><build><plugins>下配置maven-shade-plugin插件,
……
<build>
<plugins>
<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.charlie.mavendemo.helloword.HelloWord</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
再次执行>mvn clean install
耐心等待各种下载
执行>java -jar target\maven-standard-demo-1.0.jar会输出Hello Maven
- Maven学习笔记003——使用入门
- 《maven实战》学习笔记3——maven使用入门
- Maven学习笔记(八)Maven的入门使用—7.创建Maven项目
- Maven学习笔记(三) :Maven使用入门
- Maven学习笔记(八)Maven的入门使用—5.使用Archetype生成项目骨架
- Maven学习笔记(八)Maven的入门使用—1.编写POM文件
- Maven学习笔记(八)Maven的入门使用—2.编写主代码
- Maven学习笔记(八)Maven的入门使用—3.编写测试代码
- Maven学习笔记(八)Maven的入门使用—4.打包和运行
- Maven学习笔记(八)Maven的入门使用—6.将Maven项目导入到Eclipse中
- Maven实战学习笔记 3.Maven使用入门
- Maven实战学习笔记 3.Maven使用入门
- Maven学习笔记(八)Maven的入门使用—8.在Eclipse中运行mvn命令
- Maven学习笔记 --- Maven入门笔记一
- Maven学习笔记 --- Maven入门笔记二
- Maven学习笔记 --- Maven入门笔记三
- Maven学习笔记 --- Maven入门笔记四
- Maven学习(一)——Maven入门
- Thread Dump线程死锁检测工具(JStack)的使用详解
- 论数据结构中的内排序和外排序
- HTML5实例——图像及动画
- 2015年
- HDU2614Beat(DP状态压缩路径)
- Maven学习笔记003——使用入门
- CSU 1265: Dice (数学啊 )
- linux 下查看机器是cpu有几核
- matlab中的SVM
- ios之富文本
- hdu 3605 Escape 多重匹配模板 (Hungary ) | 最大流
- jsonp原理及使用
- 计算机视觉代码合集two
- Binary Tree Level Order Traversal II