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服务器下载依赖。
相关推荐
maven默认使用的远程中央仓库是http://repo.maven.org/maven2,下载慢,可改用这个地址
mavne使用到的一些东西.m2,【无法下载时使用】mavne使用到的一些东西.m2,【无法下载时使用】mavne使用到的一些东西.m2,【无法下载时使用】mavne使用到的一些东西.m2,【无法下载时使用】
Eclipse 3.4 Maven Plugin 是一个专门为Eclipse集成开发环境(IDE)设计的插件,用于支持Maven构建系统。Maven是一个广泛使用的Java项目管理和综合工具,它通过一个项目对象模型(Project Object Model,POM)来管理...
**正文** Maven,作为Java开发领域中的一个关键工具,是Apache软件基金会开发的一个项目管理和综合工具。它的全名是Apache Maven 3.3.9,这是Maven的一个稳定版本,发布于2015年,它在前一版本的基础上进行了一系列...
标题"mavne的一个实例,参考一下"提示我们这是一个关于如何使用Maven的示例教程。 首先,Maven的核心功能是管理项目的依赖关系。它通过读取`pom.xml`(Project Object Model)文件来确定项目所需的库和它们的版本。...
【mavne-plugin for myeclipse6.5】是一个针对MyEclipse 6.5集成开发环境的Maven插件,旨在帮助用户在MyEclipse环境中更方便地管理和构建Maven项目。Maven是一个强大的项目管理和构建工具,它通过一个项目对象模型...
** Maven详解:构建Java项目的利器 ** Maven是Apache软件基金会开发的一款项目管理和综合工具,专为Java项目设计。它引入了一种标准化的项目管理模型,使得构建、配置和管理Java项目变得更加简单。...
在IT行业中,构建Java Web应用程序通常需要集成开发环境(IDE)、构建工具和应用服务器。本教程将详述如何使用Eclipse 4.4、Maven 3.3.9和Tomcat 7.0来搭建这样的开发环境并实现项目的部署。 一、Eclipse 4.4(Luna...
在IT行业中,构建高效、可维护的Web应用程序是开发者的核心任务之一。Maven、Spring MVC和JPA(Java Persistence API)是三个强大的工具,它们在Java Web开发领域扮演着重要角色。本文将深入探讨如何利用Maven整合...
REST风格的前后端分离框架是现代Web开发中的一个重要概念,旨在提高系统的可伸缩性、灵活性和维护性。... 首先,让我们来深入理解REST风格。...例如,GET用于获取资源,POST用于创建新资源,PUT用于更新资源,DELETE用于...
SSM框架是Java Web开发中常用的三大框架Spring、Spring MVC和MyBatis的组合,用于构建高效、灵活的Web应用程序。Maven作为项目管理和构建工具,可以帮助我们有效地管理SSM框架的依赖,使得项目的构建过程更为简洁。...
6. **README.md** - 提供了项目的简介、如何运行以及可能遇到的问题和解决方案。 通过分析这些文件,开发者可以了解到如何设置Maven项目,配置Spring MVC,编写控制器,定义模型,以及如何组织服务和数据访问层。...
1. 框架简介:Spring3 MVC是Spring框架的一部分,用于构建Web应用程序,提供模型-视图-控制器(MVC)架构支持。 2. 配置:在`web.xml`中配置DispatcherServlet和ContextLoaderListener,初始化Spring MVC和Spring...
赠送jar包:netty-3.9.9.Final.jar; 赠送原API文档:netty-3.9.9.Final-javadoc.jar; 赠送源代码:netty-3.9.9.Final-sources.jar; 赠送Maven依赖信息文件:netty-3.9.9.Final.pom; 包含翻译后的API文档:netty-...
我用的配置jdk1.8+tomcat8.5。如果你想要修改项目名称,此框架下载来只需要修改文件夹名称和pom文件里对应的文件夹名称然后导入开发工具,自动下载jar包就可以了,已经自带了mybatis自动生成的那个插件xml,和一个...
清理本地maven仓库中下载失败但又存在的jar包,有时候它存在但不可用导致程序运行不了 第一行改成你本地maven仓库地址,然后双击运行
cpdetector jar包 cpdetector jar包 cpdetector jar包
在深入探讨“maven打包源码”的主题之前,我们首先需要理解Maven作为一个项目管理和综合工具,是如何在软件开发流程中扮演着至关重要的角色。Maven通过提供一个强大的框架来管理构建过程,使得项目的构建、依赖关系...
** Maven的MyEclipse插件 ** Maven是一款强大的项目管理工具,主要用于构建、管理和部署Java项目。它基于项目对象模型(Project Object Model,POM),通过XML文件来描述项目配置,实现自动化构建过程,包括编译、...
Apache Maven 是一个强大的项目管理和构建工具,主要用于Java应用程序的开发。Maven 3.8.4是该软件的最新版本,它提供了许多改进和优化,旨在简化开发人员的工作流程并提高构建效率。在这个版本中,我们可以期待一些...