Maven helloworld

来源:互联网 发布:尤伦斯艺术海报 淘宝 编辑:程序博客网 时间:2024/06/05 05:24

以HelloWorld为例:


代码路劲:

 D:\NewTechnique\hello-world

  --src

     --main

--java

--com\juvenxu\mvnbook\helloworld

--HelloWorld.java

package com.juvenxu.mvnbook.helloword;
public class HelloWorld{

public String sayHello(){
return "Hello Maven";
}
public static void main(String[] args){

System.out.println(new HelloWorld().sayHello());
}

}

    --test

--java

--com\juvenxu\mvnbook\helloworld

--HelloWorldTest.java

package com.juvenxu.mvnbook.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);
}
}


在完成src/main之后,不写test相关内容,执行mvn clean compile 进行编译时的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.juvenxu.mvnbook</groupId>
<artifactId>hello-world</artifactId>
<version>1.0-SNAPSHOT</version>
<name>Maven Hello World Project</name>
</project>    

在完成src/test之后,执行 mvn clean test 因为加入了junit,使用depency的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.juvenxu.mvnbook</groupId>
<artifactId>hello-world</artifactId>
<version>1.0-SNAPSHOT</version>
<name>Maven Hello World Project</name>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.7</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>    


执行mvn clean package  ,mvn clean install时,需要将mainClass打入的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.juvenxu.mvnbook</groupId>
<artifactId>hello-world</artifactId>
<version>1.0-SNAPSHOT</version>
<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>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.juvenxu.mvnbook.helloworld.HelloWorld</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>    

这里的plugins在build之下。执行mvn clean install后,会在target下生产两个jar

 hello-world-1.0-SNAPSHOT.jar   带有mainClass的jar

original-hello-world-1.0-SNAPSHOT.jar   原始的jar



0 0
原创粉丝点击