译:Apache Maven-简化java的构建过程--比apache ant更多(2) 创建一个简单的maven项目

遵照下面的步骤创建一个简单的maven项目和运行几个maven目标

1.创建项目目录
C:/daven

2.创建java源代码的存放目录
C:/daven/src/java

3.创建与包结构相同的目录结构
C:/daven/src/java/smartsoft/daven

4.创建一个简单的类 Box
文件名:
c:/daven/src/java/smartsoft/daven/Box.java
内容:
public class Box {
private int length;
private int width;
    public Box(int length, int width) {
        this.length = length;
        this.width = width;
    }
    public int getArea(){
        return length * width;
    }
}
5.创建项目对象模型
文件名:
C:/daven/project.xml

内容
    <project>
        <id>daven</id>
        <currentVersion>1.0</currentVersion>
        <build>
            <sourceDirectory>
                ${basedir}/src/java
            </sourceDirectory>
        </build>
    </project>
    
现在运行一个Maven的内建目标,java:compile.打开命令提示符,切换到项目目录,并且键入:

maven java:compile

你将看到如下的输出:

        C:/daven>
        maven java:compile
        java:prepare-filesystem:
        java:compile:
            [echo] Compiling to C:/daven/target/classes
        BUILD SUCCESSFUL
        Total time:  33 seconds
    
注意java:compile目标有一个前提条件,java:prepare-filesystem 目标.
maven的前提条件类似于ant的depends.

现在你查看你的文件系统,你将看到maven为你生成了保存类文件的目录结构.
    c:/daven
    src
        java
            smartsoft
                daven
                    Box.java
    target
        classes
            smartsoft
                daven
                    Box.class
        test-classes
        test-reports 
使用一下其他的目标,在命令提示符下键入:
maven jar

你将看到如下输入:
    C:/daven>maven jar
    
        java:prepare-filesystem:
        java:compile:
            [echo] Compiling to C:/daven/target/classes
        java:jar-resources:
        test:prepare-filesystem:
        test:test-resources:
        test:compile:
            [echo] No test source files to compile
        test:test:
            [echo] No tests to run
        BUILD SUCCESSFUL
        Total time:  6 seconds
注意jar目标有许多的前提目标
    java:prepare-filesystem
    java:compile
    java:jar-resources
    test:prepare-filesystem
    test:test-resources
    test:compile
    test:test
maven 还会在target目录中创建一个名为daven-1.0.jar的文件.它的名字来自于
项目对象模型文件中的 Id和currentVersion元素.现在执行 clean目标.
在命令 提示符下键入:
java clean
你又会得到这样的输出:
    C:/daven>
    maven clean
    clean:clean:
        [delete] Deleting directory C:/daven/target
    BUILD SUCCESSFUL
    Total time:  7 seconds
如果你再次检查你的文件系统,你将发祥生成的target目录被删除了.
理解目标
你已经运行了三个目标java:compile,jar.clean.虽然maven中的goal等同于ant中的target, 但是你却不用创建自己的目标,maven已经提供了打多数你需要的目标.到写此文时,maven 已经有312个goal了.(译者注:你可以用maven -g 命令来查看所有的安装插件和目标)


记住maven的目标时组织到插件中的.实际上,在maven的主页上又这样的描述 "像人造卫星般围绕的一个小核心"(原文:"small core that works with a satellite of plug-ins") 大多数maven的功能以插件的形式提供,插件提供了目标名的前缀.例如,java:compile将调用 java插件的compile目标.如果不带任何目标名运行插件,那么将会调用插件的默认目标.例如 maven jar将调用jar插件的默认目标.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值