热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

菜鸟学工具——maven认知

Maven是什么?Maven是Apache下的一个纯Java开发的开源项目,一个项目管理的工具,使用Maven对Java项目进行构建,依赖管理。目前使用maven管理的项目在持续增长,注意ma
Maven是什么?

    Maven是Apache下的一个纯Java开发的开源项目,一个项目管理的工具,使用Maven对Java项目进行构建,依赖管理。目前使用maven管理的项目在持续增长,注意maven只能用来管理Java项目。

何为项目构建?

从源码编写到编译、测试、运行、打包、部署运行的过程

Maven项目VS传统项目构建

Eclipse构建项目的过程:

   

构建过程:

1)在eclipse中创建一个Java web工程

2)在工程中编写源代码以及配置文件等

3)对源代码进行编译,Java文件编译成class文件

4)执行Junit单元测试

5)将工程达成war包部署至tomcat运行

maven项目构建

   maven将项目构建的过程进行标准化,每个阶段使用一个命令完成。

1)清理阶段对应maven的命令是clean,清理输出的class文件

2)编译阶段对应maven的命令是compile,将java代码编程成class文件

3)打包阶段对应maven的命令是package,java工程打成jar包,web可以打成war包

在运行maven项目只需要一个命令:tomcat:run

对比两者的构建方式使用maven工程构建的优点

1、一个命令完成构建、运行,方便快捷

2、maven对每个构建阶段进行规范,利于大型团队协作开发

3、相比传统项目,maven项目占用空间很少

4、maven是纯Java语言的,当然支持跨平台使用。

为什么maven项目省空间?

    做Java项目的肯定深有体会,Java项目一般都需要使用第三方jar包才能运行,也就是说Java项目依赖于第三方jar包。maven项目之所以节约空间,maven进行了依赖管理,也就是对项目所有依赖的jar包进行规范化管理。

   相比传统方式依赖人工进行jar包管理,极有可能造成的问题

   1、jar包版本不统一,版本从而冲突;

   2、网上找jar包不方便(深有感触!);

   3、jar包使得工程过大。

   maven项目管理所依赖的jar包只需要在pom.xml添加jar包的坐标,自动从maven仓库中下载jar包,运行。

   1、利用pom.xml文件统一管理jar包,避免版本冲突

   2、maven团队维护了一个非常全的maven仓库,maven工程直接在中央仓库中直接下载jar包,极为方便!

【总结】    本文是对maven的一些初级认识,主要是对比传统项目进而分析maven的值得推广的地方。后续内容重点分析maven项目的依赖管理。最后啰嗦一句:maven项目最重要的就是pom.xml文件,里面的内容值得好好研究!小编在后续的博文也会进行讲解。    如有错误之处,欢迎拍砖!


   





推荐阅读
  • Spring – Bean Life Cycle
    Spring – Bean Life Cycle ... [详细]
  • 本文整理了一份基础的嵌入式Linux工程师笔试题,涵盖填空题、编程题和简答题,旨在帮助考生更好地准备考试。 ... [详细]
  • 本文介绍了如何在Spring框架中使用AspectJ实现AOP编程,重点讲解了通过注解配置切面的方法,包括方法执行前和方法执行后的增强处理。阅读本文前,请确保已安装并配置好AspectJ。 ... [详细]
  • 本文介绍了 Go 语言中的高性能、可扩展、轻量级 Web 框架 Echo。Echo 框架简单易用,仅需几行代码即可启动一个高性能 HTTP 服务。 ... [详细]
  • 本文介绍了如何查看PHP网站及其源码的方法,包括环境搭建、本地测试、源码查看和在线查找等步骤。 ... [详细]
  • 本文介绍了Java编程语言的基础知识,包括其历史背景、主要特性以及如何安装和配置JDK。此外,还详细讲解了如何编写和运行第一个Java程序,并简要介绍了Eclipse集成开发环境的安装和使用。 ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 本文详细介绍了如何在PHP中记录和管理行为日志,包括ThinkPHP框架中的日志记录方法、日志的用途、实现原理以及相关配置。 ... [详细]
  • 本文详细介绍了Java代码分层的基本概念和常见分层模式,特别是MVC模式。同时探讨了不同项目需求下的分层策略,帮助读者更好地理解和应用Java分层思想。 ... [详细]
  • 本文详细介绍了Java反射机制的基本概念、获取Class对象的方法、反射的主要功能及其在实际开发中的应用。通过具体示例,帮助读者更好地理解和使用Java反射。 ... [详细]
  • 本文将带你快速了解 SpringMVC 框架的基本使用方法,通过实现一个简单的 Controller 并在浏览器中访问,展示 SpringMVC 的强大与简便。 ... [详细]
  • 本文介绍了在 Java 编程中遇到的一个常见错误:对象无法转换为 long 类型,并提供了详细的解决方案。 ... [详细]
  • 原文网址:https:www.cnblogs.comysoceanp7476379.html目录1、AOP什么?2、需求3、解决办法1:使用静态代理4 ... [详细]
  • 本文对SQL Server系统进行了基本概述,并深入解析了其核心功能。SQL Server不仅提供了强大的数据存储和管理能力,还支持复杂的查询操作和事务处理。通过MyEclipse、SQL Server和Tomcat的集成开发环境,可以高效地构建银行转账系统。在实现过程中,需要确保表单参数与后台代码中的属性值一致,同时在Servlet中处理用户登录验证,以确保系统的安全性和可靠性。 ... [详细]
  • Eclipse安装教程:解决Genymotion配置中的疑难杂症
    Eclipse安装教程:解决Genymotion配置中的疑难杂症 ... [详细]
author-avatar
非常异族图腾
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有