一.Maven 是什么?
Maven 英文名称:专家,由名字可见,这个工具野心非常大。有人说他是"构建工具",一个用来把源代码构建成可发布的构件的工具。也有人说是项目管理工具。
官方定义:
Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(ProjectLifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。
本人理解:
MAVEN内置软件仓库,帮助构建打包管理项目。
二.linux安装maven
1. JAVA环境。
设置JAVA_HOME
在~/.bashrc中加入
export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/
保证JAVA命令可用,没有的去安装yum install openjdk-devel
2.下载maven。
http://maven.apache.org/download.html
解压到:/opt/apache-maven-3.0.3/
设置环境变量,加入~/.bashrc
export M2_HOME=/opt/apache-maven-3.0.3/
export PATH=$PATH:/opt/apache-maven-3.0.3/bin/
执行. ~./bashrc即可。
3.测试是否成功
4 eclipse 安装maven
官方下载页面里可以找到eclispe中更新m2eclipse的地址为:http://download.eclipse.org/technology/m2e/releases
打开eclipse--》help-->install new software -->add -->name输入maven,location输入http://download.eclipse.org/technology/m2e/releases
之后往下点击,选中需要安装的部分即可。
验证是否安装成功:
file里new一个project,输入过滤条件maven ,看到maven的选项,说明安装成功。
让eclipse使用外部安装的maven运行时
windows-->preferences-->找到maven项目--》installation项目,点击add,找到本机maven位置确定即可。
三、使用
1.约定优于配置
Convention Over Configuration
源代码假定是在 /src/main/java,
资源文件假定是在 src/main/resources
测试代码假定是在 /src/test 。
项目假定会产生一个 JAR 文件
Maven假定你想要把编译好的字节码放到 /target/classes
在 /target 创建一个可分发的 JAR 文件。
看似没什么,但是比ANT使用要省事的多,ANT需要去配置每个目录。当然区别不只这些。
默认结构如下图所示:
2、创建Maven项目
用命令创建
mvn archetype:create -DgroupId=wz.package -DartifactId=helloWorld
Web项目增加:-DarchetypeArtifactId=maven-archetype-webapp
groupId 组名,DartifactId项目名称。
生成pom.xml如下所示:
- <modelVersion>4.0.0</modelVersion>
- <groupId>myGroup</groupId>
- <packaging>jar</packaging>
- <url>http://maven.apache.org</url>
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- </properties>
- <dependencies>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>3.8.1</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
- </project>
写一个 helloWorld
•mvn clean compile 编译并生成target
用eclipse maven插件创建项目
3 测试:
@Test
public void testsayHello(){
App app = new App();
String result = app.sayHello();
Assert.assertEquals("Hello Maven!",result);
}
•mvn clean test
4 搜索可用版本
•http://mvnrepository.com/
•如查找junit,找到很多版本,点开可见
5 打包和安装
mvn clean package
mvn clean install
mvn jetty:run (WEB项目运行)
复杂的例子:
org.springframework.samples.jpetstore(复杂)
6 项目依赖范围
compile(编译范围)compile是默认的范围;
provided(已提供范围)如servlet
runtime(运行时范围) 如JDBC的实现包
test(测试范围)
system(系统范围)
四 常见问题
1 转为WEB项目的问题
mvn eclipse:eclipse 打成ECLIPSE项目,不能被识别为WEB项目,使用下面命令即可
mvn eclipse:eclipse -Dwtpversion=1.0
2.不识别M2_REPO
M2_REPO这个参数Eclipse不认得,需要给它添上:
Eclipse->Windows->Preferences->java->Build Path->Classpath Variables
new一个,名字是M2_REPO,属性选folder,指向C:\Documents and Settings\kaseyxiong\.m2\repository
3 ECLIPSE部署时候依赖包没导入
通常不会出现这个问题,如果出现,则项目--属性--deployment Assembly -->add --> build path entries -->选中需要的包 --> finish
4 ECLIPSE未编译
project --.> clean一下就行
5 下载依赖包的源码
加上参数: -DdownloadSources=true或者mvn dependency:sources
相关推荐
maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装...
apache-maven-3.0.5 apache-maven-3.1.1 apache-maven-3.2.5 apache-maven-3.3.9 apache-maven-3.5.4 apache-maven-3.6.3 apache-maven-3.8.5 每个版本包含4个文件: apache-maven-3.8.5-bin.tar.gz apache-maven-...
Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;Maven...
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。 Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,...
Maven最新版是款项目管理和构建自动化工具。Maven包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System)。 安装...
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。 Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,...
apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-...
maven
Maven框架,本地jar资源仓,中央仓下载jar资源 有时在你的构建过程中,需要将第三方jar包添加到本地仓库中,因为它并存在于像Maven中央仓库或其它的公共仓库中。为了让Maven能够正确获取到jar包,第三方jar包必须...
Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache ...
maven
4、在links中新建maven.txt文件,内容为插件地址,例如:path=D:\eclipse_gzds\myplugins\maven(注意这里斜杠,不是反斜杠) 5、将maven.txt扩展名改为maven.lin 6、在eclipse根目录下找到eclipse.ini并打开,在...
maven-3.5.0版本的本地资源包,直接解压就可使用。 方式1 需要在系统环境变量中直接配置path中配置,路径是到bin目录。 方式2 新建配置(MAVEN_HOME),路径为是解压后的maven根目录,再在path中引用(%MAVEN_HOME%\...
apache-maven-3.8.6-bin.tar.tz--test apache-maven-3.8.6-bin.tar.tz--test apache-maven-3.8.6-bin.tar.tz--test apache-maven-3.8.6-bin.tar.tz--test apache-maven-3.8.6-bin.tar.tz--test apache-maven-3.8.6-...
Maven是一种构建工具,一种项目管理工具,一种用来运行构建任务的抽象容器。对于那些成熟的,希望用一致的方式来管理和构建大量相互依赖的模块和类库,并且使用了 数千第三方组件的项目来说,Maven已经证明了它是一...
如何输入关键字,寻找需要依赖jar的MAVEN坐标,需要提供确切的MAVEN坐标 1.Sonatype Nexus 地址: https://repository.sonatype.org 2. Jarvana 地址: http://www.jarvana.com/jarvana 3.MVNbrowser 地址: ...
Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。 Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用...
maven本地仓库的默认位置:无论是Windows还是Linux,在用户的目录下都有一个.m2/repository/的仓库目录,这就是Maven仓库的默认位置,变更maven默认的本地仓库的位置可更改存在于maven的settings.xml文件中local...
直接离线安装eclipse中的maven插件,在你的eclipse安装根目录下创建两个文件夹:links,myplugins(文件夹名字可以自定义),所在路径D:\eclipse。将下载下来的maven插件放到myplugins下。载links目录下创建一个...
apache maven 3.x.x所有Linux, Windows版本下载的百度网盘链接。 apache-maven-3.0.4-bin.tar.gz apache-maven-3.0.4-bin.zip apache-maven-3.0.5-bin.tar.gz apache-maven-3.0.5-bin.zip apache-maven-3.1.0-bin....