项目构建之maven篇:2.HelloWorld项目构建过程
文件结构说明:
项目构建生命周期:
清理
编译
测试
打包
运行
部署
清理与编译
hello\pom.xml
POM:Project Object Model,项目对象模型
pom.xml与ant的build.xml类似
- <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.demo.hello</groupId>
- <artifactId>hello-world</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- <name>hello</name>
- </project>
说明:
modelVersion:指定当前POM模型的版本,Maven2及Maven3只能是4.0.0
groupId:项目组名称
artifactId:当前Maven项目在组中的唯一的id
version:版本
hello\src\main\java下的Hello.java
- package com.demo ;
- public class Hello {
- public void sayHi(){
- System.out.println("hello world");
- }
- public static void main(String [] args){
- new Hello().sayHi();
- }
- }
运行清理及编译命令:
进入hello的文件夹路径,运行
- mvn clean compile
运行结果
查看target文件夹的内容
查看本地仓库
测试:
hello\pom.xml
- <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.demo.hello</groupId>
- <artifactId>hello-world</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- <name>hello</name>
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- </properties>
- <dependencies>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.10</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
- </project>
dependencies:指明这个项目所需要的依赖包
hello\src\test\java\HelloTest.java
- package com.demo;
- import org.junit.Test;
- public class HelloTest {
- @Test
- public void testHello(){
- new Hello().sayHi();
- }
- }
运行测试命令
- mvn clean test
查看结果
查看本地仓库
打包
运行命令
- mvn clean package
查看结果
运行
重新改造pom.xml,加入插件
pom.xml
- <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.demo.hello</groupId>
- <artifactId>hello-world</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- <name>hello</name>
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- </properties>
- <dependencies>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.10</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>1.5</source>
- <target>1.5</target>
- </configuration>
- </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.demo.Hello</mainClass>
- </transformer>
- </transformers>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </project>
重新运行打包命令:
- mvn clean package
执行完毕后,进入hello/target下,运行命令
- java -jar hello-world-1.0.0-SNAPSHOT.jar
查看结果:
安装到本地仓库,供其它项目依赖
运行命令
- mvn clean install
查看本地仓库

浙公网安备 33010602011771号