maven学习之利用命令行创建maven项目

     在下载maven并完成maven的配置后,就可以利用maven构建maven项目了。这里以构建一个HelloWord项目为例子(从第一次接触到编程语言,从C语言开始,不知道见过多少个helloword),首先纯手工的构建一个maven项目。在D盘建立一个helloword的文件夹,然后在这个文件夹下建立一个xml文件,名为pom.xml,pom是project object model项目对象模型的缩写,其跟ant的核心文件build.xml一样,是maven的核心文件。在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.xiaoqiang.mavenstudy</groupId>
  <artifactId>helloword</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>helloword</name>

 </project>

其中project是pom文件的根元素,modelversion定义了pom的版本,对于maven2和maven3来说,只能是4.0.0,groupid定义了一个组,一般是一个组织,例如有一个公司的组叫mycompany,其中一个项目叫myapp,那么groupid就是com.mycompany.myapp.artifactId是构件的id,是这个maven项目在这个group的唯一标识。version定义了这个构件的版本。packaging定义了打包的类型,这里是jar.name元素定义了该maven项目的一个别名,可以更加友好的一个别名,方便信息的交流。

      接下来在刚才的helloworld文件夹下定义,定义这样的目录结构src\main\java\com\xiaoqiang\mavenstudy\helloword,在此文件夹下,定义一个HelloWord的java文件,输入下列源代码

package com.xiaoqiang.mavenstudy.helloword;


public class HelloWord
{
 public static void sayHelloWord(){
  System.out.println("please let us study maven together");
 }
    public static void main( String[] args )
    {
        sayHelloWord();
    }
}

这里src\main\java是maven项目默认的代码存放地,后面的com\xiaoqiang\mavenstudy\helloword根据pom文件中的groupid和artifactid而来,当然这不是必须的,可以随便,但是为了统一一般会这样做。

项目主代码现在写完了,按理说应该编写测试代码,在这里先不写,后续会有关于相关的内容。

打开命令行,进到D:\helloword下。



 

 运行结果如下


 

build success说明构建成功了,进入到D:\helloword下,会发现多了个target文件夹,在D:\helloword\target\classes\com\xiaoqiang\mavenstudy\helloword下会发现多了个class文件,说明运行成功

也可以将该helloword项目打包,运行 mvn clean package -DskipTests=true即可,读者可自行试验下。其中-DskipTests=true,是在打包过程中跳过测试生命周期。以后会有介绍。

     在这里,如果我们每个maven项目都要这么建的话,那岂不是累死,好在maven提供了基于archetype(骨架)来构建maven项目的方式。

     把D:\helloword文件夹下的东西都删除掉之后,在命令行中运行mvn archetype:generate命令,以下的内容是从我的maven学习笔记中摘的

l  使用archetype生成项目骨架。Maven3中直接使用mvn archetypegenerate

实际上使用了maven-archetype-plugin插件,在Maven2中这样写是不安全的,如果这么写maven2会去查找maven-archetype-plugin的最新版本,而最新版本有可能是不稳定的,例如快照版本,使用maven2应该在命令行输入

mvn maven-archetype-pluginsmaven-archetype-plugin2.0-alpha-5generate,格式为mvn groupIdartifactIdversiongenerate

紧接着会出现一串长的输出,提供很多Archetype供选择



 

选择一个骨架(一般会选择maven-archetype-quickstart或者maven-archetype-webapp这两个骨架)之后会出现



 

这里的groupid:  artifactid :后面的内容是我瞎写的,读者可自行输入想要的内容

       总体来说,这两种方式在实际中的用途非常有限,有了m2eclipse这样的插件后,构建maven项目已经非常简单了。下篇博文会介绍如何利用m2eclipse构建maven项目

ps:由于时间仓促,总觉得疏漏了一些东西,如果您在读完博文使用maven过程中遇到了问题,都可以给我留言,我会第一时间回复的。

猜你喜欢

转载自ddlgyq.iteye.com/blog/1866315