maven java 3框架项目_Maven入门系列(三)——自动构建Maven项目架构

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

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

d271573398e2a56762b13f7dd907e16a.png

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

test里放的是测试代码

等等。(本文出自http://my.oschina.net/u/1156339/blog/397609)

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

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

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

mvn archetype:generate

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

78698bc65e800a2d70b2b50eea0933c7.png

e825c9bec4e226ccb6568397e918d462.png

中间下载的过程长到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>

生成结果如下:

dd353f3b667a757501c4a74bbb0bed32.png

里面包含了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

6eaa5283d7cd52dcefb75cd480e0f467.png

内容如下:

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了。

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

c8d5ae3289cbc40e172f871a02c20242.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值