在上一章中的HelloWorld中,我们的项目遵循了一些Maven项目的约定

  • 在项目的根目录中放置pom.xml
  • 在src/main/java目录中放置项目的主代码
  • 在src/test/java目录中放置项目的测试代码

我们称以上这些基本的目录结构和pom.xml文件内容为项目的骨架。项目的骨架是固定的,这样的好处就是为了避免重复造轮子。

项目骨架的生成:

mvn archetype:generate

运行结果图

备注:构架项目骨架可能会报以下错误:Unable to add module to the current project as it is not of packaging type 'pom'

红框下面的第一行是Archetype编号,在Maven中,每一个Archetype前面都会对应有一个编号,同时命令行会提示一个默认的编号,这里是1268,其对应的Archetype为maven-archetype-quickstart,直接回车以选择该Archetype,紧接着Maven会提示出入要创建项目的groupId、artifactId、version、以及包名packpage,输入后并确认:Y

Archetype将插件将会根据我们提供的信息创建项目骨架,如图所示:

可以看到,包含程序主目录,测试目录,以及刚才定义的包名,以及我们之前用到的输出HelloMaven的类及其测试类。

代码清单:

App.java

package com.soulprayer.maven.maven_study;

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

AppTest.java

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 );
}
}

在这里仅仅是看到一个最简单的Archetype,如果有很多项目拥有类似的自定义项目结构以及配置文件,则完全可以一劳永逸地开发自己的Archetype,然后在这些项目中使用自定义的Archetype来快速生成项目骨架,达到快速开发的目的。

最新文章

  1. HTML以及CSS的作用和理念
  2. 《机电传动控制》PLC仿真
  3. ILGenerator.Emit动态 MSIL编程(二)之基础
  4. 浅谈iOS版本号
  5. iOS多线程技术
  6. 15. 3Sum
  7. Grid分组汇总
  8. I.MX6 lcd lvds hdmi bootargs
  9. C++动态链接库测试实例
  10. OC基础 NSData
  11. web-打印
  12. js动画学习(一)
  13. Entity Framework技巧系列之七 - Tip 26 – 28
  14. [CSS3] 学习笔记-选择器详解(三)
  15. easyui dialog 中嵌入html页面
  16. 【网络流】【BZOJ1221】【HNOI2001】软件开发
  17. mybatis ---- 级联查询 一对多 (集合映射)
  18. JSP和后台交互时的乱码问题
  19. Python_服务器与多客户端通信、UDP协议、pycharm打印带颜色输出、时间同步的机制
  20. [Android] android.util.Log

热门文章

  1. ssm下使用分页插件PageHelper进行分页
  2. 新建mapping
  3. final、static、package、import,和内部类、代码块总结
  4. 《DSP using MATLAB》Problem 8.36
  5. 11_springmvc之RESTful支持
  6. 【学术篇】NOIP2016 D1T3 luogu1850换教室
  7. Luogu P4180 【模板】严格次小生成树[BJWC2010]
  8. C++ 系列:基础知识储备
  9. springboot中activeMQ消息队列的引入与使用(发送短信)
  10. 关于电容与Q值