Maven的简单使用,HelloWorld

安装好Maven后就用一个简单的HelloWorld程序来测试一下,体验一下Maven。至于不懂的地方,请查看《Maven实战》书籍。

书籍网址:http://download.csdn.net/detail/therbetter/5146372

1. 首先随意选择一个地方建立一个目录,当成你的项目名称。我取名为:hello-world。

 然后在hello-world此目录下建立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.sucsoft</groupId>
    <artifactId>hello-world</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    <name>Maven Hello World Project</name>
 </project>

2. 下来编写主类,maven约定的源码在hello-world/src/main/java/your-package-name 中。

   在hello-world中建立目录src\main\java\com\sucsoft,此项目的包名即为com.sucsoft

 然后建立类文件hello-world\src\main\java\com\sucsoft\HelloWorld.java。

 文件内容为:

package com.sucsoft;

public class HelloWorld {
    public String sayHello(){
        return "Hello World";
    }
    public static void main(String[] args) {
        System.out.println(new HelloWorld().sayHello());
    }
}    

3. 在DOS命令提示框中,将目录切换到hello-world下,也就是项目的根目录,然后输入mvn clean compile,进行编译。如果显示SUCCESS则没问题,成功编译。

  

4. 用Junit进行测试。

  4.1 在pom.xml文件中加入Junit的依赖。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.sucsoft</groupId>
    <artifactId>hello-world</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    <name>Maven Hello World Project</name>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.7</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
 </project>

  4.2 编写测试代码。

  maven 约定的测试代码放在 hello-world(工程名)/src/test/your-package-name中。

  根据约定建立目录: hello-world\src\test\java\com\sucsoft。

  然后在此目录下建立测试类HelloWorldTest.java,内容如下:

  

package com.sucsoft;

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 World", result);
    }
}    

  4.3 用maven来执行测试。

  在dos中切换到工程的根目录中,这里是hello-world,然后执行: mvn clean test. 结果如下:

  

5. 安装发布。

  可能编写的项目在其它的项目中会用到,可以直接用mvn clean install 放到本地的存储库中。

  

  

  

 6. 上述生成的jar是没办法执行的,因为jar包中MANIFEST.MF文件中没有记录主类信息。

  MANIFEST.MF文件内容

  

  执行结果:

  

  要生成可执行的jar需要maven-shade-plugin插件的支持。具体配置是在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.sucsoft</groupId>
    <artifactId>hello-world</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    <name>Maven Hello World Project</name>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.7</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>2.0</version> <configuration> <transformers> <transformer implementation = "org.apache.maven.plugins.shade.resource.MainifestResourceTransformer">   <mainClass>com.sucsoft.HelloWorld</mainClass> </transformer>   </transformers> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project>

 

posted @ 2016-08-07 12:19  Amei1314  阅读(3057)  评论(0编辑  收藏  举报