Maven简介
Maven翻译过来是"专家","内⾏"的意思。 作为Apache组织中的⼀个颇为成功的开源项 ⽬,Maven主要服务于基于java平台的项⽬构建,依赖管理和项⽬信息管理。 ⽆论是⼩型的开源类库项⽬,还是⼤型的企业级应⽤; ⽆论是传统的瀑布式开发,还是流⾏的敏捷开发,Maven都能⼤显身⼿。
安装使用
- Maven下载解压后将bin目录添加到系统路径中
- maven 命令 运⾏maven命令的时候,⾸先需要定位到maven项⽬的⽬录,也就是项⽬的pom.xml⽂件所在的⽬ 录。否则,必以通过参数来指定项⽬的⽬录。 Maven的命令格式如下(命令代表的含义:执⾏ plugin-name 插件的 goal-name ⽬标):
mvn [plugin-name]:[goal-name]
| 命令 | 描述 |
|---|---|
| mvn –version | 显示版本信息 |
| mvn clean | 清理项⽬⽣产的临时⽂件,⼀般是模块下的target⽬录 |
| mvn compile | 编译源代码,⼀般编译模块下的src/main/java⽬录 |
| mvn package | 项⽬打包⼯具,会在模块下的target⽬录⽣成jar或war等⽂件 |
| mvn test | 测试命令,或执⾏src/test/java/下junit的测试⽤例. |
| mvn install | 将打包的jar/war⽂件复制到你的本地仓库中,供其他模块使⽤ |
| mvn deploy | 将打包的⽂件发布到远程参考,提供其他⼈员进⾏下载依赖 |
| mvn site | ⽣成项⽬相关信息的⽹站 |
| mvn eclipse:eclipse | 将项⽬转化为Eclipse项⽬ |
| mvn dependency:tree | 打印出项⽬的整个依赖树 |
| mvn archetype:generate | 创建Maven的普通java项⽬ |
| mvn tomcat7:run | 在tomcat容器中运⾏web应⽤ |
| mvn jetty:run | 调⽤ Jetty 插件的 Run ⽬标在 Jetty Servlet 容器中启动 web 应⽤ |
配置conf/settings.xml
- settings.xml修改下载源为阿里云链接
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
依赖管理
Maven是一个jar包管理的依赖管理系统,⽤groupId、artifactId、version组成的Coordination(坐标)唯⼀标识⼀个依赖。 1. groupId 定义当前Maven项⽬⾪属的实际项⽬-公司名称。(jar包所在仓库路径) 由于Maven中模块的概念,因此⼀个实际项⽬往往会被划分为很多模块。 ⽐如spring是⼀个实际项⽬,其对应的Maven模块会有很多,如spring-core,spring-webmvc等。 2. artifactId 该元素定义实际项⽬中的⼀个Maven模块-项⽬名, 推荐的做法是使⽤实际项⽬名称作为artifactId的前缀。 ⽐如: spring-bean, spring-webmvc等。 3. version 该元素定义Maven项⽬当前所处的版本。
示例:
<dependency>
<groupId>javax.servlet</groupId> com.baidu
<artifactId>javax.servlet-api</artifactId> ueditor echarts
<version>3.1.0</version>
</dependency>