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

 

0 0
原创粉丝点击