`

比ant更强大的工具maven2之自动生成工程

阅读更多
maven2是在ant的基础上发展起来的,并对ant的功能进行了进一步扩充,下面将说明如何利用maven2自动生成工程结构。
 
要使用maven2,首先需要在apache的官方网站下载最新版的工具:
 
 
 
 
 
接下来就是配置环境变量

设置 MAVEN2_HOME --------》D:\maven2\maven2(指向你的maven2的安装后根目录)
设置path ----------------》D:\maven2\maven2\bin;

 
 
接下来准备开始建立项目:
 
新建一个文件夹作为工作目录: D:\mywork
 
1.在命令行执行如下指令:

mvn archetype:create 
  -DarchetypeGroupId=org.apache.maven.archetypes 
  -DgroupId=com.mycompany.app 
  -DartifactId=my-app

 
切换到工作目录,这时你就会发现我们的工程框架已经建立好了

my-app
|-- pom.xml
`-- src
    |-- main
    |   `-- java
    |       `-- com
    |           `-- mycompany
    |               `-- app
    |                   `-- App.java
    `-- test
        `-- java
            `-- com
                `-- mycompany
                    `-- app
                        `-- AppTest.java

 
 
 
2.生成的pom(pom.xml)文件如下

<project xmlns="&amp;lt;a href=" pom="" maven.apache.org=""></project> 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/maven-v4_0_0.xsd">
  <modelversion></modelversion>4.0.0
  <groupid></groupid>com.mycompany.app
  <artifactid></artifactid>my-app
  <packaging></packaging> jar
  <version></version>1.0-SNAPSHOT
  <name></name>my-app
  <url></url>http://maven.apache.org
  <dependencies></dependencies>
    <dependency></dependency>
      <groupid></groupid>junit
      <artifactid></artifactid>junit
      <version></version>3.8.1
      <scope></scope>test
   
 

 
 
 
 
 
3.下面用maven2开始编译工程:
 
mvn compile
 
 
运行结果如下:

[INFO] ----------------------------------------------------------------------------
[INFO] Building Maven Quick Start Archetype
[INFO]    task-segment: [compile]
[INFO] ----------------------------------------------------------------------------
[INFO] artifact org.apache.maven.plugins:maven-resources-plugin: \
  checking for updates from central
...
[INFO] artifact org.apache.maven.plugins:maven-compiler-plugin: \
  checking for updates from central
...
[INFO] [resources:resources]
...
[INFO] [compiler:compile]
Compiling 1 source file to /my-app/target/classes
[INFO] ----------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ----------------------------------------------------------------------------
[INFO] Total time: 3 minutes 54 seconds
[INFO] Finished at: Fri Sep 23 15:48:34 GMT-05:00 2005
[INFO] Final Memory: 2M/6M
[INFO] ----------------------------------------------------------------------------


 
 
 
 
 
4.开始为工程打包
 
mvn package
 
执行结果如下:

D:\mywork\my-app>mvn package
[INFO] Scanning for projects...
[INFO] -------------------------------------------------------------------------
---
[INFO] Building my-app
[INFO]    task-segment: [package]
[INFO] -------------------------------------------------------------------------
---
[INFO] [resources:resources]
[INFO] Using default encoding to copy filtered resources.
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compiler-m
anager/1.5.3/plexus-compiler-manager-1.5.3.pom
634b downloaded
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compiler/1
.5.3/plexus-compiler-1.5.3.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compiler-a
pi/1.5.3/plexus-compiler-api-1.5.3.pom
624b downloaded
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compiler-j
avac/1.5.3/plexus-compiler-javac-1.5.3.pom
797b downloaded
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compilers/
1.5.3/plexus-compilers-1.5.3.pom
7K downloaded
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compiler-a
pi/1.5.3/plexus-compiler-api-1.5.3.jar
19K downloaded
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compiler-j
avac/1.5.3/plexus-compiler-javac-1.5.3.jar
13K downloaded
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compiler-m
anager/1.5.3/plexus-compiler-manager-1.5.3.jar
5K downloaded
[INFO] [compiler:compile]
[INFO] Compiling 1 source file to D:\mywork\my-app\target\classes
[INFO] Compiling 1 source file to D:\mywork\my-app\target\classes
[INFO] [resources:testResources]
[INFO] Using default encoding to copy filtered resources.
[INFO] [compiler:testCompile]
[INFO] Compiling 1 source file to D:\mywork\my-app\target\test-classes
Downloading: http://repo1.maven.org/maven2/org/apache/maven/surefire/surefire-bo
oter/2.3/surefire-booter-2.3.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/surefire/surefire-ap
i/2.3/surefire-api-2.3.pom
887b downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/surefire/surefire-bo
oter/2.3/surefire-booter-2.3.jar
28K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/surefire/surefire-ap
i/2.3/surefire-api-2.3.jar
49K downloaded
[INFO] [surefire:test]
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-
default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.jar
190K downloaded
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.1/
plexus-utils-1.1.jar
164K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/surefire/surefire-ju
nit/2.3/surefire-junit-2.3.pom
583b downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/surefire/surefire-pr
oviders/2.3/surefire-providers-2.3.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/surefire/surefire-ju
nit/2.3/surefire-junit-2.3.jar
10K downloaded
[INFO] Surefire report directory: D:\mywork\my-app\target\surefire-reports
-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running com.mycompany.app.AppTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.203 sec
Results :
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-archiver/2.2/m
aven-archiver-2.2.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/shared/maven-shared-
components/3/maven-shared-components-3.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-archiver/2.2/m
aven-archiver-2.2.jar
9K downloaded
[INFO] [jar:jar]
[INFO] Building jar: D:\mywork\my-app\target\my-app-1.0-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2 minutes 52 seconds
[INFO] Finished at: Sun Apr 15 12:16:44 CST 2007
[INFO] Final Memory: 4M/10M
[INFO] ------------------------------------------------------------------------

 
 
生成文件如下:    my-app-1.0-SNAPSHOT.jar
 
 
5.将jar包放入资源库中执行如下命令:mvn install
执行结果如下:

[INFO] Scanning for projects...
[INFO] -------------------------------------------------------------------------
---
[INFO] Building my-app
[INFO]    task-segment: [install]
[INFO] -------------------------------------------------------------------------
---
[INFO] artifact org.apache.maven.plugins:maven-install-plugin: checking for upda
tes from central
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-instal
l-plugin/2.1/maven-install-plugin-2.1.pom
981b downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-plugin
-parent/2.0/maven-plugin-parent-2.0.pom
6K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-instal
l-plugin/2.1/maven-install-plugin-2.1.jar
8K downloaded
[INFO] [resources:resources]
[INFO] Using default encoding to copy filtered resources.
[INFO] [compiler:compile]
[INFO] Nothing to compile - all classes are up to date
[INFO] [resources:testResources]
[INFO] Using default encoding to copy filtered resources.
[INFO] [compiler:testCompile]
[INFO] Nothing to compile - all classes are up to date
[INFO] [surefire:test]
[INFO] Surefire report directory: D:\mywork\my-app\target\surefire-reports
-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running com.mycompany.app.AppTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.141 sec
Results :
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO] [jar:jar]
[INFO] Building jar: D:\mywork\my-app\target\my-app-1.0-SNAPSHOT.jar
[INFO] [install:install]
[INFO] Installing D:\mywork\my-app\target\my-app-1.0-SNAPSHOT.jar to C:\Document
s and Settings\danlley\.m2\repository\com\mycompany\app\my-app\1.0-SNAPSHOT\my-a
pp-1.0-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 27 seconds
[INFO] Finished at: Sun Apr 15 12:26:32 CST 2007
[INFO] Final Memory: 5M/9M
[INFO] ------------------------------------------------------------------------

 
 
其中的关键部分如下:

Installing D:\mywork\my-app\target\my-app-1.0-SNAPSHOT.jar to C:\Documents and Settings\danlley\.m2\repository\com\mycompany\app\my-app\1.0-SNAPSHOT\my-app-1.0-SNAPSHOT.jar

 
说明你刚刚生成的jar包已经放到了%userhome%\.m2\repository\

分享到:
评论

相关推荐

    ant自动发布工程

    Ant是Apache软件基金会Jakarta项目的一个重要组成部分,它是一个Java构建工具,被广泛用于自动化Java项目的构建、编译、测试和部署过程。"ant自动发布工程"是指利用Ant的脚本化特性,实现对Java工程的自动化发布流程...

    ant打包Web工程

    本文将深入探讨“ant打包Web工程”这一主题,基于提供的标签“源码”和“工具”,我们将围绕Apache Ant这个强大的Java构建工具进行讲解。 Apache Ant是一个开源的Java构建工具,它以XML格式定义了构建过程,使得...

    MyBatis整合开发代码如何自动生成(Ant)

    在MyBatis的整合开发中,自动生成代码可以极大地提高开发效率,减少手动编写重复代码的工作量。本文将深入探讨如何使用Ant构建工具来实现MyBatis的代码自动化生成。 首先,我们需要了解Ant,它是一个Java库和命令行...

    maven教案-maven入门学习资料

    Maven 是一个强大的项目管理工具,由 Apache 软件基金会开发,它的全称是 Maven Project Management Tool。它通过项目对象模型(Project Object Model,简称 POM)来描述项目,利用一套预定义的生命周期和插件,自动...

    Maven快速入门

    例如,使用 `mvn eclipse:eclipse` 或 `mvn idea:idea` 命令,可以自动生成对应的 IDE 工程配置。 5. 常用的命令 - `mvn clean`:清理项目生成的目标文件。 - `mvn compile`:编译项目源代码。 - `mvn test`:执行...

    maven 简单使用教程

    2. Maven与Ant的区别: - Maven采用声明式配置,避免了Ant中的复杂脚本编写。 - Maven提供了一种标准的构建生命周期,包括清理、编译、测试、打包、集成测试、验证、部署等阶段。 - Maven通过POM自动管理项目依赖...

    Maven工具详细介绍

    Maven是一种自动化构建工具,它的发展历程包括了Make、Ant、Maven以及Gradle等不同阶段的技术演进。这些工具主要解决的是软件项目的构建自动化问题,从简单的Makefile到更为复杂的自动化构建流程管理。 #### 二、...

    MyBatisGenerator 逆向工程代码自动生成

    MyBatisGenerator是一款强大的代码生成工具,能够帮助开发者根据数据库表结构自动生成对应的Java实体类、Mapper接口及XML映射文件等,极大地提高了开发效率。尤其在大型项目中,使用该工具可以快速搭建起项目的骨架...

    Maven使用培训PPT(巨全)

    Maven与早期的构建工具Ant相比,拥有约定优于配置的理念,它是面向对象的,而Ant是面向过程的。Maven有一套固定的生命周期,通过这个生命周期,Maven可以自动地执行一系列构建步骤,从而简化开发者的操作。Maven的...

    Maven The Complete Reference

    虽然 Maven 和 Ant 在很多方面有相似之处,但它们的设计理念和使用场景有所不同。Maven 更加强调项目管理和依赖管理,而 Ant 更灵活,适用于各种不同的构建需求。 **1.7 Maven 与 Ant 的比较** - **设计理念**:...

    Ant 打包工程

    在Java领域,Ant作为一款强大的构建工具,被广泛用于自动化构建任务,包括编译、测试、打包和部署等。本文将深入探讨Ant在打包工程中的应用。 ### Ant简介 Ant是由Apache软件基金会开发的开源项目,它是一个基于...

    Maven学习心得.doc

    Maven,作为Apache推出的一款强大的构建和工程管理工具,与ANT相比,具有显著的优势。本文将深入探讨Maven的核心特点、优势以及存在的问题,以供学习参考。 首先,Maven的一大亮点在于其对第三方依赖库的统一版本...

    Maven学习全教程.doc

    Maven学习全教程 Maven是一个基于项目对象模型(POM)的项目管理和...Maven是一个功能强大且灵活的项目管理和构建自动化工具,提供了许多自动化功能,例如依赖管理、生命周期管理等,可以帮助用户快速构建和维护项目。

    maven window下安装包

    第13章:使用Maven生成项目原型/13.2 编写自己的项目原型/13.2.6 按照项目原型生成Maven工程 第14章:灵活的构建/14.1 Maven的属性/14.1.1 概念 第14章:灵活的构建/14.1 Maven的属性/14.1.2 属性分类/14.1.2.1 内置...

    13_ant_发布web项目和操作数据库

    在IT行业中,Ant是一个非常重要的自动化构建工具,尤其在Java开发领域中被广泛使用。它由Apache软件基金会开发,主要用于构建Java项目,包括编译、打包、测试等任务。本主题将深入探讨如何使用Ant来发布Web项目以及...

    Maven概念.docx

    Maven 概念 Maven 是一款基于 Java 语言的项目管理工具软件,主要用于解决项目开发中遇到的问题,例如项目...Maven 是一种功能强大且灵活的项目管理工具软件,能够帮助开发人员更好地管理项目,提高开发效率和质量。

Global site tag (gtag.js) - Google Analytics