项目构建之maven篇:2.HelloWorld项目构建过程

文件结构说明:

 

 

 

项目构建生命周期:

 

清理

编译

测试

打包

运行

部署

 

 

 

 

 

 

 

清理与编译

 

hello\pom.xml

 

POM:Project Object Model,项目对象模型

pom.xml与ant的build.xml类似

 

 

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
  2.     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
  3.     <modelVersion>4.0.0</modelVersion>  
  4.     <groupId>com.demo.hello</groupId>  
  5.     <artifactId>hello-world</artifactId>  
  6.     <version>1.0.0-SNAPSHOT</version>     
  7.     <name>hello</name>  
  8. </project>  

 

说明:

 

 

 

modelVersion:指定当前POM模型的版本,Maven2及Maven3只能是4.0.0

 

 

groupId:项目组名称

 

 

artifactId:当前Maven项目在组中的唯一的id

 

 

version:版本


 

 

hello\src\main\java下的Hello.java

 

  1. package com.demo ;  
  2. public class Hello {  
  3.     public void sayHi(){  
  4.         System.out.println("hello world");  
  5.     }  
  6.     public static void main(String [] args){  
  7.         new Hello().sayHi();  
  8.     }  
  9. }  

运行清理及编译命令:

 

 

 

进入hello的文件夹路径,运行

 

  1. mvn clean compile  

运行结果

 

 

 

 

查看target文件夹的内容

 

 

 

 

 

查看本地仓库

 

 

 

测试:

 

hello\pom.xml

 

 

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
  2.     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
  3.     <modelVersion>4.0.0</modelVersion>  
  4.     <groupId>com.demo.hello</groupId>  
  5.     <artifactId>hello-world</artifactId>  
  6.     <version>1.0.0-SNAPSHOT</version>     
  7.     <name>hello</name>  
  8.     <properties>  
  9.     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
  10.   </properties>  
  11.   
  12.       <dependencies>  
  13.         <dependency>  
  14.           <groupId>junit</groupId>  
  15.           <artifactId>junit</artifactId>  
  16.           <version>4.10</version>  
  17.           <scope>test</scope>  
  18.         </dependency>  
  19.       </dependencies>  
  20. </project>  

dependencies:指明这个项目所需要的依赖包

 

hello\src\test\java\HelloTest.java

 

  1. package com.demo;  
  2.   
  3. import org.junit.Test;  
  4.   
  5.   
  6. public class HelloTest {  
  7.     @Test  
  8.     public void testHello(){  
  9.         new Hello().sayHi();      
  10.     }  
  11. }  

运行测试命令

 

 

  1. mvn clean test  

 

查看结果

 

 

 

 

查看本地仓库

 

 

 

 

打包

运行命令

 

 

 

 

 

  1. mvn clean package  

 

 


查看结果




 

 

运行

 

 

重新改造pom.xml,加入插件

 

pom.xml

 

 

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
  2.     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
  3.     <modelVersion>4.0.0</modelVersion>  
  4.     <groupId>com.demo.hello</groupId>  
  5.     <artifactId>hello-world</artifactId>  
  6.     <version>1.0.0-SNAPSHOT</version>     
  7.     <name>hello</name>  
  8.     <properties>  
  9.     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
  10.   </properties>  
  11.   
  12.       <dependencies>  
  13.         <dependency>  
  14.           <groupId>junit</groupId>  
  15.           <artifactId>junit</artifactId>  
  16.           <version>4.10</version>  
  17.           <scope>test</scope>  
  18.         </dependency>  
  19.       </dependencies>  
  20.   
  21.       <build>  
  22.     <plugins>  
  23.       <plugin>  
  24.         <groupId>org.apache.maven.plugins</groupId>  
  25.         <artifactId>maven-compiler-plugin</artifactId>  
  26.         <configuration>  
  27.           <source>1.5</source>  
  28.           <target>1.5</target>  
  29.         </configuration>  
  30.       </plugin>  
  31.       <plugin>  
  32.         <groupId>org.apache.maven.plugins</groupId>  
  33.         <artifactId>maven-shade-plugin</artifactId>  
  34.         <version>1.2.1</version>  
  35.         <executions>  
  36.           <execution>  
  37.             <phase>package</phase>  
  38.             <goals>  
  39.               <goal>shade</goal>  
  40.             </goals>  
  41.             <configuration>  
  42.               <transformers>  
  43.                 <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">  
  44.                   <mainClass>com.demo.Hello</mainClass>  
  45.                 </transformer>  
  46.               </transformers>  
  47.             </configuration>  
  48.           </execution>  
  49.         </executions>  
  50.       </plugin>  
  51.     </plugins>  
  52.   </build>  
  53. </project>  

重新运行打包命令:

 

 

 

  1. mvn clean package  

执行完毕后,进入hello/target下,运行命令

 

 

 

  1. java -jar hello-world-1.0.0-SNAPSHOT.jar  

 

 

查看结果:

 

 

 

 

 

 

 

安装到本地仓库,供其它项目依赖

 

 

 

运行命令

 

 

  1. mvn clean install  

 

 

查看本地仓库

 

 

posted @ 2015-07-27 19:07  我是小蚂蚁  阅读(103)  评论(0)    收藏  举报