标签:
安装好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>
标签:
原文地址:http://www.cnblogs.com/linux-wangkun/p/5670546.html