【Maven】Maven是什么以及Maven工程的建立

阅读目录

前言:

  由于最近工作学习,总是能碰到Maven的源码。虽然平时工作并不使用Maven,但是为了学习一些源码,还是必须要了解下。这篇文章不是一个全面的Maven解析,而是一个简单的介绍,包括Eclipse中如何使用Maven,如何利用Maven工程学习。

  循序渐进,你将会学到下面的知识:

  maven的相关书籍!

  什么是maven?

  如何在eclipse中使用maven?

  maven的工程是什么样子?

  Eclipse中maven的常用命令!

回到顶部

  相关书籍

  首先推荐两本书,都是网上找的pdf。由于我自己没有工作需求,因此也只是简单的了解一下而已,并没有深入的研究。有兴趣的朋友,可以多看看这两本书。

Maven权威指南

Maven实战

回到顶部

  什么是maven?

  Maven是一个用于项目构建的工具,通过它便捷的管理项目的生命周期。即项目的jar包依赖,开发,测试,发布打包。

  下面我自己总结一下它的几个特点,看了这些特点,也许对maven有更多的了解。

  1 jar包依赖

  这个也许会maven最突出的特点了使用maven不需要上网单独下载jar包,只需要在配置文件pom.xml中配置jar包的依赖关系,就可以自动的下载jar包到我们的项目中。这样,别人开发或者使用这个工程时,不需要来回的拷贝jar包,只需要复制这个pom.xml就可以自动的下载这些jar包。

  而且,我们自己下载jar包,还有可能造成版本的不一致,这样在协同开发的过程中就有可能造成代码运行的不一致。通过使用maven精确的匹配jar包,就不会出现这种问题了。

  2 项目坐标

  Maven通过特定的标识来定义项目名称,这样既可以唯一的匹配其他的jar包,也可以通过发布,使别人能使用自己的发布产品。这个标识就被叫做坐标,长的其实很普通,就是简单的xml而已:

1   <groupId>com.test</groupId>
2   <artifactId>maventest</artifactId>
3   <version>0.0.1-SNAPSHOT</version>
4   <packaging>jar</packaging>
5
6   <name>maventest</name>
7   <url>http://maven.apache.org</url>

  groupId:所述的项目名称,由于有的项目并不是一个jar包构成的,而是由很多的jar包组成的。因此这个groupId就是整个项目的名称。

  artifactId:包的名称。

  version:版本号。

  packaging:包的类型,一般都是jar,也可以是war之类的。如果不填,默认就是jar。

  nameurl,一个是名称,一个是maven的地址。主要就是上面的几个参数。

  当想要依赖什么jar的时候就可以通过下面的方式依赖:

1 <dependencies>
2     <dependency>
3       <groupId>junit</groupId>
4       <artifactId>junit</artifactId>
5       <version>3.8.1</version>
6       <scope>test</scope>
7     </dependency>
8   </dependencies>

  各个属性的内容基本上都是一样的。

  这里要注意的是jar包的命名规则:

  artifactId-version[-classifier].packaging

  比如上面的pom.xml生成的jar包名字就是:maventest-0.0.1-SNAPSHOT.jar。

  这里的classifier是可选的,但是有的项目可能还需要导出附属的一些文件,如javadoc,source等等,那么这个地方就需要配置一个字符串。一般都是JDKXXX之类的。

  3 测试驱动

  Maven是测试驱动的开发思路,因此工程创建初期,就包含两个文件夹,main和test。一个用于放置开发的java文件,一个用于写test单元测试。这样每次开发的时候,提前设计单元测试,就能帮助减少BUG。

回到顶部

  如何在eclipse中使用maven

  我使用的eclipse有自带的maven插件,因此直接创建就可以了。这里就不介绍如何安装maven了。下面介绍一下maven工程的创建:

  1 如何创建maven工程:

  直接点击新建,在里面可以找到Maven选项卡,点击Maven Project创建Maven工程

  2 选择默认的工程位置

  3 创建工程,红色是创建普通的maven工程的。粉色是创建web工程的。

  6 填写相关的groupId artifactId version等信息

  点击完成就创建好了一个简单的maven工程。

回到顶部

  maven工程是什么样子的?

  maven的工程一般都是如下的结构:

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

  pom.xml:用于定义或者添加jar包的依赖

  src-main:用于存放java源文件

  src-test:用于存放测试用例。

  也许工程下还会出现target文件夹,这个是用来生成对应的class文件或发布的jar包。

回到顶部

  Eclipse中maven常用的命令

  点击Run As就可以发现几个Maven的命令:

  Maven Build:

  这个命令用于编译Maven工程,执行命令后会在target文件夹中的classes中生成对应的class文件。

  Maven Clean:

  删除target文件夹,即删除生成的package包以及class等文件。

  Maven Test:

  先自动进行编译,在运行所有的测试用例。

  Maven install:

  发布生成对应的package包。

  注意:

  留意上面的命令的作用,build和test都会生成相应的class文件。也就是说,当你新建一个maven工程,或者clean一个maven工程后,如果没有使用这两个命令,直接针对类进行测试,会跑出java.class.notfound的错误。因为此时还没有编译生成class文件。

  只有使用了上面的两个命令后,才能针对某个类进行单元测试。

时间: 2024-07-30 23:03:45

【Maven】Maven是什么以及Maven工程的建立的相关文章

基于maven搭建的struts 1 java工程

今天在家尝试搭建和公司一样的开发环境(struts1+maven+resin),结果遇到很多的问题,记录下来,如果遇到相似问题,可参考: 我的工程下载地址:http://files.cnblogs.com/files/focusahaha/struts1.rar maven maven值得注意的地方其实只有conf文件夹的setting.xml文件,其实不用任何设置就可以使用了.但是也可以通过修改这个文件,手动设置本地maven库的位置,使用镜像(如果使用的是本公司自主搭建的maven库),使用

在 eclipse 中 maven 插件的设置以及 maven 工程在 eclipse中的相关使用问题

1.在 eclipse 中使用 maven: a.在 eclipse 中 maven 插件是内置的. b.maven插件的相关设置,在 Window --> Preferences --> Maven 中设置两项内容: 注:在 Installations 中 点击 add...,后把自己安装的 apache-maven-3.2.2 定为安装目录. 注:在 User Settings 中 设置为自己安装的 apache-maven-3.2.2/conf 目录下的 settings.xml 文件,

maven构建的模块化的JavaWeb工程

来到新公司,用到了maven构建的模块化的JavaWeb工程,比较感兴趣,所以自己就想从头弄一个出来,在此做一个记录,供以后学习. 前置条件:电脑上有eclipse(或者myeclipse,记事本也可以,那样就得用命令创建了.),jdk,maven支持,tomcat(或者jetty,就是个服务器容器而已). 第一步:添加maven支持,参照http://503431920.blog.51cto.com/6681280/1695929 第二步:新建maven工程,参照http://50343192

6.IDEA用maven新建带spring框架的工程

5.IDEA用maven新建带spring框架的工程 1.使用maven骨架新建web工程 1.1新建web工程 1.2新建好包,并制定好文件类型 1.3添加框架支持(本文核心,不建议手动添加框架支持) 2.添加spring框架的支持,并添加空白的配置文件 3.配置web.xml(除了springmvc的核心配置,之外如果不需要继承spring的话其他配置可不用添加) <?xml version="1.0" encoding="UTF-8"?> <

Maven web 项目工程的建立

打开eclipse,mars版本的已经集成了maven. 1. new 一个 maven project,勾选Create a simple project(这样就省去了建立文件夹的过程) 2. 选择打包方式为 war 3. 点击Finish,你会发现报错了,并且找到src/main/webapp目录,后面的步骤要用到 4.右键工程->Properties->Project Facets 5.取消勾选 Dynamic Web Module,并点击Apply 6.再次勾选Dynamic Web

Ubuntu 14.04 Android 使用Maven二 创建自己的Maven工程

根据https://code.google.com/p/maven-android-plugin/wiki/GettingStarted 介绍,有两种方法可以创建Maven工程. 第一种方法是用archetype, 但是我使用了之后,发现archetype产生的项目编译时有一个依赖找不到,不管了,先换其他方法. 第二种方法就是使用android命令行创建项目,然后复制例子代码工程的pom文件并修改, Ubuntu 14.04 设置Android开发环境 描述了如何用命令行创建项目 Ubuntu

使用Maven构建一个简单的java工程

原文是我在学习Spring的过程中,在Spring的官网上看到的一个指南:BuildingJava Projects with Maven--http://spring.io/guides/gs/maven/#scratch.我也是刚接触Maven.看到这篇文章觉得非常简单,但又非常实用,尤其是对于像我这样的Maven初学者.基本上看了这篇后能大概知道Maven是个什么东西,干点什么事,并能够上手使用Maven做点小例子.所以忍不住就把它整理成中文,发出来分享一下,帮助初学者.并没有对原文完整翻

maven安装、配置及创建工程

准备工作 java开发环境(JDK) maven下载地址:http://maven.apache.org/release-notes-all.html 一.安装 安装maven超级简单,总共分三步: 1.下载并解压,这里我改了个简单的名字 2.配置环境变量 MAVEN_HOME = D:\softwareIT\maven3.3.9 //在path变量末尾加入,英文符号 %MAVEN_HOME%\bin; 3.验证是否成功:打开cmd窗口,输入:mvn -v 恭喜您,Maven 安装成功! 二.配

Maven入门1-在Eclipse中新建Maven Web项目

在eclipse中新建Maven Web项目 很多时候开发效率低下,大部分原因是IDE环境不熟悉.配置不会配置:因此在学习一项技能之前,有必要对基本的环境配置有所了解,正所谓磨刀不误砍柴工.这篇文章主要针对初次接触Maven,不熟悉配置的研究人员. 1.Maven配置及介绍 Maven官网:http://maven.apache.org/ 以前开发Java Web工程时,需要导入很多依赖包,但是随着工程逐渐变大,所管理的包越来越多,有必要使用工具来管理这些包,这样不需要我们手动导入:Maven就