Apache Maven 是一个项目管理工具。也是一个平台。
pom(Project Object Model)
Maven 运行的时候,它是根据项目的pom.xml 里设置的组合来运行的。Maven是声明式的。我们需要做的只是创建一个 pom.xml 文件然后将源代码放到默认的目录。Maven 会帮你处理其它的事情。Maven符合约定大于配置,源代码,测试代码,生成的jar都有自己的目录。
它有一下几个核心概念。坐标,依赖,仓库,生命周期,插件。
坐标:<groupId>junit</groupId> 它们唯一标识了一个项目
<artifactId>junit</artifactId>
<packaging>jar</packaging>
<version>4.6</version>
依赖:有范围,有传递性
仓库:默认本地所有Maven项目都复用一个本地仓库,本地仓库从远程仓库(可配置)下载必要的构件。中 央仓库是唯一内置的远程 仓库。构建项目是会先从本地仓库寻找依赖,没有在去远程仓库寻找。
插件:Maven 大部分的智能是由插件实现的,而插件从 Maven 仓库获得。插件和目标绑定,一个插件可有 多个目标。以下为举例。
resources:resources
Resources 插件的resources 目标绑定到了resources 阶段。这个目标复制src/main/resources 下的所有资源和其它任何配置的资源目录,到输出目录。
compiler:compile
Compiler 插件的compile 目标绑定到了compile 阶段。这个目标编译src/main/java 下的所有源代码和其他任何配置的资源目录,到输出目录。
resources:testResources
Resources 插件的testResources 目标绑定到了test-resources 阶段。这个目标复制src/test/resources 下的所有资源和其它任何的配置的测试资源目录,到测试输出目录。
compiler:testCompile
Compiler 插件的testCompile 目标绑定到了test-compile 阶段。这个目标编译src/test/java 下的测试用例和其它任何的配置的测试资源目录,到测试输出目录。
surefire:test
Surefire 插件的test 目标绑定到了test 阶段。这个目标运行所有的测试并且创建那些捕捉详细测试结果的输出文件。默认情况下,如果有测试失败,这个目标会终止。
jar:jar
Jar 插件的jar 目标绑定到了package 阶段。这个目标把输出目录打包成JAR 文件。
生命周期:一个生命周期是一些阶段的序列,一个目标绑定到一个阶段,当运行任何maven命令的时候。这条命令告诉 Maven 执行
一系列的有序的步骤,直到达你指定的生命周期。
当我们运行mvn package,Maven 运行到打包为止的所有阶段,在Maven 沿着生命周期一步步向前的过程中,它运行绑定在每个阶段上的所有目标。以下为步骤。
mvn resources:resources \
compiler:compile \
resources:testResources \
compiler:testCompile \
surefire:test \
jar:jar
1 . Maven常用命令指南
在命令行使用mvn --help可得到简单命令帮助;
mvn install 编译,打包并安装到本地仓库;
mvn clean 删除target目录;
mvn test 运行所有单元测试;
mvn jetty:run 运行webapp应用,适用于webapp模块;
mvn eclipse:eclipse 生成eclipse工程。
2. mvn命令的选项解释
-o 不联网检测所有依赖包的更新,例如mvn clean install -o 不联网检测更新进行build(适用于本地仓库中已包含了所有最新jar包);
-P${profileId}为pom.xml中配置的Profile,例如mvn -Pmysql(指定使用mysql数据库);
-D 增加maven运行时的属性值,注意,会覆盖pom.xml中的properties定义,例如mvn -DskipTests=true(不运行测试),mvn -Djdbc.password=123456,重新设置数据库连接密码为123456,mvn –Djetty.port=9090,当你本地需要开启多个服务时,修改端口用
3. Maven Repository配置
找到.m2的仓库目录,默认在你的系统当前用户目录下,例如C:/Users/${yourname}/.m2,编辑settings.xml文件(如果该文件不存在,找到你的maven安装目录,拷贝conf/settings.xml到.m2目录),内容为
<pre>
<settings>
<servers>
<server>
<id>nexus</id>
<username>yourUsernameOnNexus</username>
<password>yourPasswordOnNexus</password>
</server>
</servers>
</settings>
</pre>
配置完成,在源代码目录使用mvn install检查是否可从我们的Maven服务器获取更新。yourUsernameOnNexus和yourPasswordOnNexus现在统一用一个帐号从技术部maven服务器下载依赖。
相关推荐
eclipse 3.4 mavne plugin
maven默认使用的远程中央仓库是http://repo.maven.org/maven2,下载慢,可改用这个地址
mavne使用到的一些东西.m2,【无法下载时使用】mavne使用到的一些东西.m2,【无法下载时使用】mavne使用到的一些东西.m2,【无法下载时使用】mavne使用到的一些东西.m2,【无法下载时使用】
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。 Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。
mavne的一个实例,参考一下mavne的一个实例,参考一下mavne的一个实例,参考一下mavne的一个实例,参考一下mavne的一个实例,参考一下mavne的一个实例,参考一下
eclipse4.4 +mavne3.3.9 + tomcat7.0 搭建详细步骤及源码
maven
使用Maven 整合的Spring MVC JPA 框架
maven插件 for myeclipse 亲测可用
基于REST风格的前后端分离框架,Maven分模块项目,token登录实现。
清理本地maven仓库中下载失败但又存在的jar包,有时候它存在但不可用导致程序运行不了 第一行改成你本地maven仓库地址,然后双击运行
非常简单基础的整合包 补全修改配置文件基本就可以用了
springboot+shiro快速入门 有注释 内含建表语句
maven、spring mvc整合示例代码下载
NULL 博文链接:https://zflyhigh.iteye.com/blog/1774762
我用的配置jdk1.8+tomcat8.5。如果你想要修改项目名称,此框架下载来只需要修改文件夹名称和pom文件里对应的文件夹名称然后导入开发工具,自动下载jar包就可以了,已经自带了mybatis自动生成的那个插件xml,和一个...
apache-maven-3.3.9_阿里云仓库apache-maven-3.3.9_阿里云仓库apache-maven-3.3.9_阿里云仓库apache-maven-3.3.9_阿里云仓库
cpdetector jar包 cpdetector jar包 cpdetector jar包
myeclipse集成maven,很轻松,只需把相应jar包复制到相应目录下即可,有说明,eclipse3.3亲测通过.
Maven最新版是款项目管理和构建自动化工具。Maven包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System)。...