maven项目的整个架构是固定的:

这里不再啰嗦,给个图回忆一下吧:

java 自定义表单 框架 java自动生成框架_App

main文件夹装的是真正的java代码

test里放的是测试代码

等等。(本文出自)

如果每建一个项目都要自己手动建立这样项目架构岂不是很烦。Maven自己为我们提供来了自动构建项目的命令。本文将介绍相关方法。

我先建立了一个项目的总文件夹maven_3。(其实这里不建立这个也可以,在后面设置artifactId后,maven会自动根据模块名称生成文件夹给项目的)

接下来,我在cmd控制台下进入maven_3文件夹,然后输入

mvn archetype:generate

意思是maven架构生成。这个命令和其他mvn命令一样,第一次使用时需要下载许多东西,不过应该是本系列介绍的命令里下载时间最长的一个,有点耐心吧。

java 自定义表单 框架 java自动生成框架_java 自定义表单 框架_02

java 自定义表单 框架 java自动生成框架_App_03

中间下载的过程长到cmd自动清屏了。

之后,需要用户在交互模式下,输入

groupId: : com.happyBKs.Maven

artifactId: : mvn3

version:  1.0-SNAPSHOT: :

package:  com.happyBKs.Maven: :

这里上面的有些设置是给出默认选项的,如version和package,直接敲回车即可。需要自己输入的就是groupId和artifactId。

groupId一般代表部门的网址倒过来+项目

artifactId一般代表项目当中的某一个模块

Choose org.apache.maven.archetypes:maven-archetype-quickstart version:
1: 1.0-alpha-1
2: 1.0-alpha-2
3: 1.0-alpha-3
4: 1.0-alpha-4
5: 1.0
6: 1.1
Choose a number: 6: Downloading: https://repo.maven.apache.org/maven2/org/apache
/maven/archetypes/maven-archetype-quickstart/1.1/maven-archetype-quickstart-1.1.
jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/mav
en-archetype-quickstart/1.1/maven-archetype-quickstart-1.1.jar (7 KB at 5.6 KB/s
ec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/ma
ven-archetype-quickstart/1.1/maven-archetype-quickstart-1.1.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/mav
en-archetype-quickstart/1.1/maven-archetype-quickstart-1.1.pom (2 KB at 4.2 KB/s
ec)
Define value for property 'groupId': : com.happyBKs.Maven
Define value for property 'artifactId': : mvn3
Define value for property 'version':  1.0-SNAPSHOT: :
Define value for property 'package':  com.happyBKs.Maven: :
Confirm properties configuration:
groupId: com.happyBKs.Maven
artifactId: mvn3
version: 1.0-SNAPSHOT
package: com.happyBKs.Maven
Y: :
[INFO] -------------------------------------------------------------------------
---
[INFO] Using following parameters for creating project from Old (1.x) Archetype:
maven-archetype-quickstart:1.1
[INFO] -------------------------------------------------------------------------
---
[INFO] Parameter: groupId, Value: com.happyBKs.Maven
[INFO] Parameter: packageName, Value: com.happyBKs.Maven
[INFO] Parameter: package, Value: com.happyBKs.Maven
[INFO] Parameter: artifactId, Value: mvn3
[INFO] Parameter: basedir, Value: E:\testspace\maven_3
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] project created from Old (1.x) Archetype in dir: E:\testspace\maven_3\mvn
3
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 06:43 min
[INFO] Finished at: 2015-04-08T22:41:55+08:00
[INFO] Final Memory: 20M/180M
[INFO] ------------------------------------------------------------------------
E:\testspace\maven_3>

生成结果如下:

java 自定义表单 框架 java自动生成框架_apache_04

里面包含了POM.xml和src

POM.xml内容已经都按照刚才交互模式的设置自动设置好,并且,Maven自动为我们建立好了Junit的依赖。

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
com.happyBKs.Maven
mvn3
1.0-SNAPSHOT
jar
mvn3
http://maven.apache.org
UTF-8
junit
junit
3.8.1
test
这里请将junit的version由3.8.1改为4.10.
另外project.build.sourceEncoding的属性设置的资源文件。
在main的java下的各个包名下自动生成了一个App.java
package com.happyBKs.Maven;
/**
* Hello world!
*
*/
public class App
{
public static void main( String[] args )
{
System.out.println( "Hello World!" );
}
}

在test的java下的包名下生成了一个AppTest.java

java 自定义表单 框架 java自动生成框架_App_05

内容如下:

package com.happyBKs.Maven;
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 );
}
}

好吧,这种方法到此是该结束了。

但是,如果我们不想在maven架构命令输入之后还要进行交互来设置参数,可以在输入命令时就可以将上面的GVA内容用-D参数的形式予以指定。

E:\testspace\maven_3>cd ..
E:\testspace>mkdir maven_4
E:\testspace>cd maven_4
E:\testspace\maven_4>mvn archetype:generate -DgroupId=com.happyBKs.Maven -Dartif
actId=mvn4 -Dversion=0.0.1-SNAPSHOT

但是,这种方法还是需要哦交互两次,一次是选择maven archetype版本为1.1,默认敲回车就是选项6版本1.1了。

另一次就是最后的设置项确认,默认敲回车就是确认了。

java 自定义表单 框架 java自动生成框架_apache_06