Maven基础知识(转)

文章摘自http://www.cnblogs.com/xing901022/p/4170248.html

谢谢楼主的总结,界面设计的很好看!

一、什么是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常用的命令

点击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-10-24 19:40:35

Maven基础知识(转)的相关文章

Maven基础知识

本人博客文章网址:https://www.peretang.com/basic-knowledge-of-maven/ Maven简介 Maven , 用于Java项目的构建 , 依赖管理 , 项目信息管理的项目管理工具. 是Apache组织旗下的开源项目. Maven核心功能是一个具有跨平台特性的构建工具 , 帮助我们自动化构建 , 并提供一个完整的优化的构建生命周期模型 , 和构建任务所需的基础组件/插件. Maven还是一个依赖管理工具和项目信息管理工具 , 方便开发人员更好的管理依赖与避

Maven基础知识和环境搭建

基本概念和生命周期 Maven是现在流行的构建自动化工具,提供了软件构建过程中全生命周期的管理. 基础目录结构 基础目录结构如下: 根目录:存放pom.xml 和所有的子目录 ${basedir}/src/main/java: java源代码 ${basedir}/src/main/resources: 资源文件,比如属性文件,配置文件 ${basedir}/src/test/java:单元测试代码 ${basedir}/src/test/resources:测试资源 编译打包以后会默认的产生

maven基础知识(一)

在我们使用Maven之前首先需要下载Maven  下载地址:http://maven.apache.org/download.cgi 配置Maven环境变量 :path=apache-maven-3.1.1-bin\apache-maven-3.1.1\bin(bin目录所在的路径) 通过cmd命令打开docs窗口输入命令:mvn -v    显示一下信息,则说明安装成功 Apache Maven 3.1.1 (0728685237757ffbf44136acec0402957f723d9a;

maven基础知识(二)

Maven中的仓库(repository) 一:远程仓库:存放所有开源项目的jar包   路径http://repo.maven.apache.org/maven2 二:本地仓库 :计算机本地的存放jar的位置   在apache-maven-3.1.1\conf下的settings.xml文件中可找到默认本地仓库路径: <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://

Maven基础知识(三)

在Myeclipse中配置maven: 选择windows-->Preferences--->Myeclipse---->Maven4Myeclipse 选择Installations  点击add按钮  配置maven的路径 apache-maven-3.1.1-bin\apache-maven-3.1.1 选择User Settings 点击Browse按钮 配置maven中的settings.xml的路径\apache-maven-3.1.1-bin\apache-maven-3.

Maven 基础知识

Maven MavenMaven 简介 Maven MavenMaven 是 Apache Apache Apache 软件基金会组织维护的 软件基金会组织维护的 软件基金会组织维护的 软件基金会组织维护的 软件基金会组织维护的 一款自动化 一款自动化 一款自动化 构建 工具 ,专注 服务于 服务于 Java JavaJava平台的 平台的 项目构建 和 依赖管理. 9.Web工程自动部署 <build> <finalName>AtguiguWeb</finalName>

maven基础知识以及idea配置maven

1. IDEA2019.2配置maven 2. maven概念模型 3. maven仓库 4. maven标准目录结构 5. maven常用命令 6. maven3个生命周期以及一键构建 maven,ant,gradle项目管理工具,包含了一个项目对象模型,一组标准集合,一个项目声明周期. 传统web工程,JAR包在项目中. maven开发的web工程,JAR不包在项目中,通过jar包的坐标来指定仓库. 1. IDEA2019.2配置maven 应该安装3.6以下版本 maven阿里云库配置 <

selenium自动化基础知识

什么是自动化测试? 自动化测试分为:功能自动化和性能自动化 功能自动化即使用计算机通过编码的方式来替代手工测试,完成一些重复性比较高的测试,解放测试人员的测试压力.同时,如果系统有不份模块更改后,只要通过修改部分代码的方式来覆盖这部分修改的内容,大大提高测试效率.但是后期代码维护需要一定的成本,如果系统属于表单比较多或者经常修改改动的系统不太适合使用自动化,因为这个维护成本太高:针对于一些相对比较成熟(改动不是很频繁)的系统和跑回归测试的系统很适合进行自动化测试. 性能自动化即使用性能测试工具(

转载 前端基础知识体系 一个新手的学习之路

原帖地址:  转载的原因是我学习前端和php已经4个多月了.看看自己还有那些不足.自己得努力学习,牛人太多.红色是我会的,或者学过的.希望今天把大部分飘红. 一.HTML 标签的分类 标签表示一个元素 按性质划分: Block-Level和Inline-Level 按语义划分: Headings: h1, h2, h3, h4, h5, h6 Paragraphs: p Text Formatting: em, strong, sub, del, ins, small Lists: ul, li