Maven入门(含实例教程)

Maven入门(含实例教程)

Maven这个个项目管理和构建自动化工具,越来越多的开发人员使用它来管理项目中的jar包。接下来小宝鸽,将从下面几个方向介绍maven:

(1)Maven简单介绍
(2)Maven安装与配置
(3)Maven携手eclipse构建项目
(4)Maven的常用命令
(5)Maven实例

猿友门抓紧了,马上起飞了:

(1)Maven的简单介绍

Maven这个个项目管理和构建自动化工具,越来越多的开发人员使用它来管理项目中的jar包。但是对于我们程序员来说,我们最关心的是它的项目构建功能。所以这里我们介绍的就是怎样用 maven 来满足我们项目的日常需要。Maven 使用惯例优于配置的原则 。它要求在没有定制之前,所有的项目都有如下的结构:

这里写图片描述

一个 maven 项目在默认情况下会产生 JAR 文件,另外 ,编译后 的 classes 会放在 basedir/target/classes 下面, JAR 文件会放在 ${basedir}/target 下面。这时有人会说了 , Ant 就没有那么多要求 ,它允许你可以自由的定义项目的结构。在这里不想引起口水战哈, 我个人觉得 maven 的这些默认定义很方便使用。好了 ,接下来我们来安装 maven 。

(2)Maven安装与配置

2.1、下载maven安装包:apache-maven-3.2.1 http://download.csdn.net/detail/u013142781/9355367,解压即可使用。

2.2、maven环境变量配置,配置方式跟jdk有些类似。新建环境变量MAVEN_HOME(值为maven的根目录)、然后在PATH环境变量里加入%MAVEN_HOME%\bin;即可。

2.3、设置setting.xml文件,配置本地仓库。apache-maven-3.2.1\conf下有个setting.xml文件,打开,localRepository的值设置成你本地仓库的路径。(博主在apache-maven-3.2.1根目录下创建了个repository文件夹作为本地仓库)。如下图

这里写图片描述

2.4、maven配置到eclipse上,下载插件eclipse-maven3-plugin http://download.csdn.net/detail/u013142781/9355661, 解压后把对应的features和plugins这两个文件夹的内容复制到eclipse相同文件夹里面即可,然后重启eclipse,当你打开Window→ Preferences…的时候,你应该能够在一个选项列表中看到一个Maven选项:

这里写图片描述

然后,Windows–>Prefrences–>Installations–>Add。installation name选maven的根目录,然后一直按确定就OK啦。

这里写图片描述

至此 maven安装配置完成!如果需要了解jdk+eclipse+svn+maven+mysql+tomcat7.0的环境搭建,可阅读小宝鸽的博客http://blog.csdn.net/u013142781/article/details/50300233,非常详细而且还提供安装包哦。

(3)Maven携手eclipse构建项目

具体的创建方式可以查看我好友的一篇博客:Spring+Mybatis+SpringMVC+Maven+MySql搭建实例,http://blog.csdn.net/evankaka/article/details/48785513,非常非常详细。当然小宝鸽以后也会写一篇“Spring+Mybatis+SpringMVC+Maven+MySql搭建实例”,希望多多关注支持啊。

(4)Maven的常用命令

Maven常用命令:
1. 创建Maven的普通java项目:
mvn archetype:create -DgroupId=packageName -DartifactId=projectName
2. 创建Maven的Web项目:
mvn archetype:create -DgroupId=packageName -DartifactId=webappName-DarchetypeArtifactId=maven-archetype-webapp
3. 编译源代码: mvn compile
4. 编译测试代码:mvn test-compile
5. 运行测试:mvn test
6. 产生site:mvn site
7. 打包:mvn package
8. 在本地Repository中安装jar:mvn install
9. 清除产生的项目:mvn clean
10. 生成eclipse项目:mvn eclipse:eclipse
11. 生成idea项目:mvn idea:idea
12. 组合使用goal命令,如只打包不测试:mvn -Dtest package
13. 编译测试的内容:mvn test-compile
14. 只打jar包: mvn jar:jar
15. 只测试而不编译,也不测试编译:mvn test -skipping compile -skipping test-compile
( -skipping 的灵活运用,当然也可以用于其他组合命令)
16. 清除eclipse的一些系统设置:mvn eclipse:clean

(5)Maven实例

1、Maven工程创建

这里写图片描述

2、选择快速框架

这里写图片描述

3、输出项目名,包(Packaging,如果只是普通的项目,选jar就好了,如果是web项目就选war,这里我们选择jar)

这里写图片描述

4、创建好的目录如下:

这里写图片描述

5、刚开始的pom.xml是这样的

这里写图片描述

6、现在我们添加mysql驱动包的依赖,编辑pom.xml如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.luo</groupId>
  <artifactId>first_maven_project</artifactId>
  <version>0.0.1-SNAPSHOT</version>

  <dependencies>
        <!-- mysql驱动包 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.29</version>
        </dependency>
    </dependencies>

</project>

7、如上编辑pom.xml,然后保存,那么就会自动从中央仓库下载包,会发现这里多了一个包:

这里写图片描述

然后就可以正常使用这个包啦

8、其他想要依赖的包,对应的dependency,可以在这个网站找:
http://mvnrepository.com/

这里写图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/2305.html原文链接:https://javaforall.net

(0)
上一篇 2020年11月12日 上午9:20
下一篇 2020年11月12日 上午9:20


相关推荐

  • webhook php 安全 权限,WebHook

    webhook php 安全 权限,WebHook用户下单或退款后会发送一条请求到服务的 WebHook 地址 会尝试 3 次 直到返回的状态码为 200 gt danger 如果希望通过接口自动处理用户订单 请根据下面的规范开发每个上架产品或服务的 WebHook 接口 并告知市场服务专员为您设置并进行对接测试 请求类型为 POST 请求的头部包含 X ThinkPHP Event service 请求的数

    2026年3月19日
    2
  • 14.1智能体的概念和结构: 反应式体系结构, 慎思式体系结构, 复合式体系结构

    14.1智能体的概念和结构: 反应式体系结构, 慎思式体系结构, 复合式体系结构

    2026年3月16日
    2
  • 实时动作捕捉软件

    实时动作捕捉软件

    2026年3月15日
    2
  • 从前端架构的出现到微前端架构设计

    从前端架构的出现到微前端架构设计写在前面的话对于大前端开发岗位 在技术实现上各行业以及应用体系区域完善 也建立了统一的技术栈和规范 这就意味着如果想要从编码为主的开发岗位进一步越迁到架构设计岗位 开发者需要具备完整的技术视野和架构设计思想 完全掌控从抽象的设计层面到具体的落地层面 能帮助前端开发者在行业内走向一个新的高度 1 大前端的架构变迁随着互联网技术的演进 大前端岗位逐渐成为 IT 行业的一大不可或缺的岗位 大前端从酝酿到出现经历了几代技术的演进 1 1 切图仔时代早期的前端并不是单独的编程岗位 它更贴近于设计岗位

    2026年3月19日
    2
  • GridData

    GridDataGridLayout//容器下面元素的列数,makeColumnsEqualWidth是否相同大小单元格publicGridLayout(intnumColumns,booleanmakeColumnsEqualWidth);GridData类可以与GridLayout类配合使用,其中构造函数有:[code="java"]publicGridData();…

    2022年5月9日
    82
  • Eric6使用介绍(详细)

    Eric6使用介绍(详细)Eric6 是 Python 编程语言的 IDE 程序 功能之强大 绝不输于 Python 平台下的任何 IDE 程序 占用内存低运行速度快足以令 Eric6 藐视群雄 最可贵的是与 PyQt5 结合的更是天衣无缝 简直就是开发 GUI 程序的绝配 PyQt5 是赖以 Python 编程语言的外部 GUI 开发语言 其夯实的底层基础与强大的可视化界面设计让 PyQt5 成为 Python 语言 GUI 开发的佼佼者 更新速度之快 开发 GUI 程序的速度之快 可以说其它 GUI 开发语言所望尘莫及 虽说 Eric6 与 PyQt5 结合使用可快速开发 GUI 程序 但是

    2026年3月18日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号