Maven學習筆記003——使用入門

 

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目錄下生成了surefiresurefire-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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章