Maven(三)

来源:互联网 发布:nginx 路径重定向 编辑:程序博客网 时间:2024/06/05 05:32

创建Java工程

Maven 使用原型(archetype)插件创建工程。在下面的例子中,我们将在 E:\mvn 文件夹下创建一个基于 maven 的 java 应用工程。
我们打开命令控制台,跳转到 E:\mvn 目录,并执行下面的 mvn 命令(该命令参考官网
http://maven.apache.org/guides/getting-started/index.html#How_do_I_make_my_first_Maven_project)

mvn -B archetype:generate \    -DarchetypeGroupId=org.apache.maven.archetypes \    -DgroupId=com.pshizhsysu.mvn \    -DartifactId=javaApp

执行过程如下

E:\mvn>mvn -B archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DgroupId=com.pshizhsysu.mvn -DartifactId=javaApp[INFO] Scanning for projects...[INFO][INFO] ------------------------------------------------------------------------[INFO] Building Maven Stub Project (No POM) 1[INFO] ------------------------------------------------------------------------[INFO][INFO] >>> maven-archetype-plugin:3.0.1:generate (default-cli) > generate-sources @ standalone-pom >>>[INFO][INFO] <<< maven-archetype-plugin:3.0.1:generate (default-cli) < generate-sources @ standalone-pom <<<[INFO][INFO][INFO] --- maven-archetype-plugin:3.0.1:generate (default-cli) @ standalone-pom ---[INFO] Generating project in Batch mode[INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0)[INFO] ----------------------------------------------------------------------------[INFO] Using following parameters for creating project from Old (1.x) Archetype: maven-archetype-quickstart:1.0[INFO] ----------------------------------------------------------------------------[INFO] Parameter: basedir, Value: E:\mvn[INFO] Parameter: package, Value: com.pshizhsysu.mvn[INFO] Parameter: groupId, Value: com.pshizhsysu.mvn[INFO] Parameter: artifactId, Value: javaApp[INFO] Parameter: packageName, Value: com.pshizhsysu.mvn[INFO] Parameter: version, Value: 1.0-SNAPSHOT[INFO] project created from Old (1.x) Archetype in dir: E:\mvn\javaApp[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 12.880 s[INFO] Finished at: 2017-11-06T21:14:48+08:00[INFO] Final Memory: 15M/216M[INFO] ------------------------------------------------------------------------

执行完后在E:\mvn下就会生成一个javaApp文件夹,树结构如下

javaApp|--pom.xml|--src   |--main   |  |--java   |     |--com   |        |--pshizhsysu   |           |--mvn   |              |--App.java   |--test      |--java         |--com            |--pshizhsysu               |--mvn                  |--AppTest.java

其中有两个重要的文件夹

文件夹 作用 src/main/java 源代码路径 src/test/java 测试代码路径

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/maven-v4_0_0.xsd">  <modelVersion>4.0.0</modelVersion>  <groupId>com.pshizhsysu.mvn</groupId>  <artifactId>javaApp</artifactId>  <packaging>jar</packaging>  <version>1.0-SNAPSHOT</version>  <name>javaApp</name>  <url>http://maven.apache.org</url>  <dependencies>    <dependency>      <groupId>junit</groupId>      <artifactId>junit</artifactId>      <version>3.8.1</version>      <scope>test</scope>    </dependency>  </dependencies></project>

App.java内容如下

package com.pshizhsysu.mvn;/** * Hello world! * */public class App {    public static void main( String[] args )    {        System.out.println( "Hello World!" );    }}

AppTest.java内容如下

package com.pshizhsysu.mvn;import junit.framework.Test;import junit.framework.TestCase;import junit.framework.TestSuite;/** * Unit test for simple App. */public class AppTest     extends TestCase{    /**     * Create the test case     *     * @param testName name of the test case     */    public AppTest( String testName )    {        super( testName );    }    /**     * @return the suite of tests being tested     */    public static Test suite()    {        return new TestSuite( AppTest.class );    }    /**     * Rigourous Test :-)     */    public void testApp()    {        assertTrue( true );    }}

构建与测试

进入到 E:\mvn\javaApp目录下,执行如下命令

mvn clean package

此时,在javaApp项目树变成了

javaApp|--pom.xml|--src|  |--main|  |  |--java|  |     |--com|  |        |--pshizhsysu|  |           |--mvn|  |              |--App.java|  |--test|     |--java|        |--com|           |--pshizhsysu|              |--mvn|                 |--AppTest.java|--target   |--javaApp-1.0-SNAPSHOT.jar   |--classes   |  |--com   |     |--pshizhsysu   |        |--mvn   |           |--App.class    |--...                 

其中有几个重要的文件夹和文件

文件夹 作用 src/main/java 源代码路径 src/test/java 测试代码路径 target/classes 源代码编译后的文件路径 target/test-classes 测试代码编译后的文件路径 target/javaApp-1.0-SNAPSHOT.jar 打好的包
原创粉丝点击