[Maven]1,了解以及如何快速运用Maven
来源:互联网 发布:安卓好用的壁纸软件 编辑:程序博客网 时间:2024/06/05 18:24
1,什么是Maven
wikipedia是这样描述的,
Maven is a build automation tool used primarily for Java projects. The word maven means "accumulator of knowledge" inYiddish.[3] Maven addresses two aspects of building software: first, it describes how software is built, and second, it describes its dependencies.
Maven是一个项目构建工具,之前主要用于Java项目,描述了软件如何构建以及他的依赖关系。它包含了项目对象模型(Project Object Model),一组标准稽核,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段中插件目标的逻辑。
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。
name和url,一个是名称,一个是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之类的。
2,Maven project结构
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包。
3,Maven常用命令
Maven Build:
这个命令用于编译Maven工程,执行命令后会在target文件夹中的classes中生成对应的class文件。
Maven Clean:
删除target文件夹,即删除生成的package包以及class等文件。
Maven Test:
先自动进行编译,在运行所有的测试用例。
Maven install:
发布生成对应的package包。
- [Maven]1,了解以及如何快速运用Maven
- 快速了解Maven,Ant,Gradle的概念
- Maven学习笔记(1) 了解什么是Maven
- 了解maven
- 了解 Maven
- 【Maven】了解
- Maven 了解
- Apache Maven入门实例以及了解maven的核心概念
- 如何快速搭建一个maven
- maven笔记-1-初步了解
- maven 介绍以及环境快速搭建
- 如何快速的创建maven web项目
- 如何快速的解决Maven依赖冲突
- 如何快速的解决Maven依赖冲突
- 如何快速的解决Maven依赖冲突
- 如何快速的解决Maven依赖冲突
- maven项目如何快速spring+springmvc+mybatis
- [maven(1)]myeclipse2014下如何配置maven
- NoSQL之Redis---String类型命令
- mysql无法启动 服务没有报告任何错误 -- 解决方案
- 在android里保存数据的三种形式(Saving Data)
- Spark MLlib系列(二):基于协同过滤的电影推荐系统
- matlab gui的handlevisibility属性
- [Maven]1,了解以及如何快速运用Maven
- fastjson--Gson生成Json字符串,并且解析Json字符串生成对象
- Android Studio使用SVN问题解决方案
- CocoaPods 的安装以及一些常见安装错误解决办法
- Java中String、StringBuffer、StringBuilder的区别及面试经常出现的问题
- linux 自动生成configure和make文件
- 调整VNC屏幕宽度
- js取整、取余等常用方法
- web端基于java的文件上传下载