`
tangyanbo
  • 浏览: 268596 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Maven实战(二)构建简单Maven项目

阅读更多

上一节讲了maven的安装和配置,这一节我们来学习一下创建一个简单的Maven项目

1. 用Maven 命令创建一个简单的Maven项目

在cmd中运行如下命令:

mvn archetype:generate 
-DgroupId=com.mycompany.app 
-DartifactId=my-app-simple
 -Dversion=1.0 
-DarchetypeArtifactId=maven-archetype-quickstart

 即可在当前目录创建一个简单的maven项目,当然创建的时候会从Maven库中下载相关的依赖,耐心等待即可。

maven的大致结构如下:

my-app
|-- pom.xml
`-- src
    |-- main
    |   |-- java
    |   |   `-- com
    |   |       `-- mycompany
    |   |           `-- app
    |   |               `-- App.java
    |   `-- resources
    |       `-- META-INF
    |           `-- application.properties
    `-- test
        `-- java
            `-- com
                `-- mycompany
                    `-- app
                        `-- AppTest.java

 

  src/main/java : java源文件存放位置

   src/main/resource : resource资源,如配置文件等

   src/test/java : 测试代码源文件存放位置

 

2.简单POM.xml

 打开项目即可看到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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany.app</groupId>
  <artifactId>my-app-simple</artifactId>
  <packaging>jar</packaging>
  <version>1.0</version>
  <name>my-app-simple</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

 这段代码中最重要的是包含groupId, artifactId 和 version 的三行。这三个元素定义了一个项目基本的坐标

 

groupId 定义了项目属于哪个组,这个组往往和项目所在的组织或公司存在关联。譬如在googlecode上建立了一个名为myapp的项目,那么groupId就应该是com.googlecode.myapp

 

artifactId 定义了当前Maven项目在组织中唯一的ID, 可以理解为项目中的模块, 模块为Maven中最小单位构件

version 项目的版本

 

   

3.运行简单Maven命令

 我们已经创建了最简单的Maven项目,下面我们来执行一些简单的构建命令

 

  编译: compile

在cmd中,将目录切换到my-app-simple下,执行mvn clean compile

build success之后我们会在my-app-simple下看到新增了一个target目录,该目录下存放项目编译后的文件,如.class文件

 

  清理: clean

cmd目录my-app-simple下执行命令 mvn clean

会将target文件删除,即清理项目,该命令可以结合其他命令运行

 

  测试: test

cmd目录my-app-simple下执行命令 mvn test

会执行src/test/java 下的Junit 测试代码

当然在执行测试之前会自动执行编译命令,运行结果如下图:



 

 打包: package

 cmd目录my-app-simple下执行命令 mvn package

 会将项目打成jar包,并放在target目录中

 执行此命令之前会先执行编译和测试命令

 

 安装:install 

 cmd目录my-app-simple下执行命令 mvn install

 会将项目jar包安装到本地仓库中,以便其他项目使用

执行此命令之前会先执行编译,测试,打包命令 

 

 

  • 大小: 3 KB
分享到:
评论
2 楼 mazongfei 2013-05-21  
我后面的命令打不出来
1 楼 zui4yi1 2012-12-10  
mvn archetype:generate出错,是什么问题啊

相关推荐

    Maven 实战(中文pdf)

    《Maven实战》是一本专为Java开发人员设计的指南,深入浅出地介绍了Maven这一强大的项目管理和构建工具。Maven是Apache软件基金会开发的一个开源项目,它以XML文件格式定义项目,能够自动化构建、依赖管理和项目信息...

    maven 实战 所有源代码

    ** Maven实战:所有源代码详解 ** Maven是一款强大的项目管理和构建工具,广泛应用于Java开发领域。...通过学习并掌握"Maven实战"中的源代码,开发者可以更好地应对复杂的项目构建挑战,实现高效且可维护的Java项目。

    Maven实战 Maven实战Maven实战

    《Maven实战》一书设计了一个背景案例,后续章节围绕该案例展开,通过具体的项目构建实例,加深读者对Maven的理解和掌握。例如,如何使用Maven进行Web应用的构建、如何利用Hudson进行持续集成等。 #### 总结 Maven...

    Maven 实战.pdf-完整版

    Maven不仅可以管理项目的构建、报告、文档生成,还可以管理依赖、源码、文档、测试、打包、分发等,并提供了对应的插件机制,以支持更广泛的构建任务。 Maven的实战性强,意味着在学习和使用过程中,通常会结合大量...

    Maven 实战源码

    《Maven实战源码》是一本专为Java开发者设计的指南,旨在帮助初学者和有经验的开发者深入理解和掌握Maven这一强大的项目管理和构建工具。Maven不仅简化了项目的构建过程,还通过依赖管理和插件机制,使得软件开发...

    《Maven实战》源代码

    通过学习《Maven实战》中的源代码,读者可以深入理解Maven的构建流程,掌握如何有效地管理项目依赖,以及如何设置和配置Maven来适应不同的开发场景。同时,这些源码实例有助于开发者在实际工作中解决可能出现的问题...

    项目管理Maven实战

    通过本文的介绍,我们可以看出Maven不仅仅是一个简单的构建工具,它还是一整套项目管理和理解工具。通过学习Maven的核心概念和高级特性,开发者可以更高效地管理Java项目,提高开发效率和代码质量。《Maven实战》一...

    Maven实战,Maven

    Maven实战是针对Maven这一流行的项目管理工具的实战指南,它主要面向希望通过Maven进行项目构建、管理的开发者和项目经理。Maven本质上是一个项目对象模型(POM),它使用XML文件对项目进行管理,而通过在项目中包含...

    Maven实战Maven教程

    ### Maven实战Maven教程:深度解析与应用指南 #### Maven:构建工具的革命者 Maven,作为一款功能强大的自动化构建工具,自2007年以来,在Java开发领域引发了深远的影响。其设计理念围绕着项目对象模型(Project ...

    Maven实战.pdf

    《Maven实战》还深入探讨了高级主题,如使用Nexus搭建私有仓库、持续集成、Web应用构建、版本控制下的灵活构建、项目站点生成等。书中不仅理论丰富,还提供了大量的实战案例,如围绕一个具体项目进行的系列构建实践...

    《Maven 实战》.zip

    Maven——这一Java社区事实标准的项目管理工具,能帮你从琐碎的手工劳动中解脱出来,帮你规范整个组织的构建系统。不仅如此,它还有依赖管理、自动生成项目站点等超酷的特性,已经有无数的开源项目使用它来构建项目...

    Maven《实战》许晓斌完整版包含源码

    **Maven实战——许晓斌完整版** Maven是一个强大的项目...通过阅读《Maven实战》并实践书中的例子,开发者能够熟练掌握Maven的使用,提升项目管理效率,减少构建复杂性,同时也能更好地融入到Java开发的生态系统中。

Global site tag (gtag.js) - Google Analytics