• 【Java成王之路】EE初阶第十七篇: maven 工具


    兄弟们,以后写代码,很多代码都是很复杂的,这个时候就会谈到一个概念叫做软件工程.

    软件工程,核心思路:写代码也是一件工程,也是一件复杂的事情!!

    正因为复杂 => 容易出现问题 => 想一些办法爱解决/预防问题.

    我们这里主要讨论如何使用库/框架来简化程序

    不要重复造轮子~

    软件开发中也有很多创建的问题,常见的场景.

    也就会产生出这些问题场景的对应办法.这些"对应办法"很可能已经被别人实现出来了.并且封装成了库,供程序猿来使用~

    好比Java标准库,除了标准库之外,还有大量的第三方库,这些库共同的构造出了整个Java"生态" .

    Java这个语言被广泛使用,不是因为这个语言本身语法有多好,而是主要是因为Java这个生态太好了)

    当我们想解决一个实际问题的时候,很多时候都能找到一个相应的库,让我们来简化开发(提高了开发效率,节省了程序猿的时间,也比较少出现bug的概率).

    生态不仅仅是包含库(library),也是包含框架(frame).

    库和框架本质上没有明确的区分.

    存在的意义都是为了方便程序猿开发代码的.

    如果非要区分,简单粗暴的认为,框架就是更复杂的库.

    更详细的说库是"被动",库被提供出来之后,程序猿需要自己写出一些逻辑,来调用库.

    框架是"主动",使用框架的时候,核心流程框架已经提供好了,程序猿需要写的是自定义的简单逻辑,供框架来调用.达到一些自定制效果.

    库,框架,到哪里找?

    如果是标准库,这个的话都是JDK自带的.....直接就额能用.

    如果是第三方库,主要有这几个途径:

    1.官方网站.(比较知名的第三方库/框架) 例如: MySQL connector.就可以取MySQL官网上找.

    2.github.(比较知名的第三方库,通常都会在github上开源)

    不是所有的第三方库都会开源的.

    也不是所有的开源三方库都在github上.

    但一般来说一些知名的都会在github上有对应的库

    无论是官方网站,还是github都意味着每个第三方库都有自己的主页.

    但是官网主页啥的,就特别不好找

    3.中央仓库 

    一些大佬们都把这些第三方库都归档到一起了!!!

    只要在这个中央仓库里,集中搜索,想要啥就有啥.

    同时就可以统一下载/安装手段了.

     

    关于 maven. (也把maven 称为"构建工具")

    maven 是一个功能比较强大的东西.

    1.组织好项目的目录结构.

    目录结构特别重要!!!

    但是又容易被忽略的问题.

    这个事咱们体会不深,因为Java已经帮我们把大部分的目录结构都规定好了. 

    如果大家写其他的语言(C++,Python之类的,就需要自己规划目录).

    2.构建打包程序.(核心就是编译,打jar包)

    这个不就是拿idea一点,不就编译了嘛.

    现在写的这些程序,都比较简单,不涉及到模块划分,不涉及各种依赖关系.

    如果是更复杂的程序.包含很多个模块,先变异哪个,后编译哪个.....(存在依赖关系)

    打包也是如此.

    公司中还经常会进行"持续集成"

    程序猿每次改一行代码,一旦提交,就会有专门的主机自动的更新代码,编译,打包,自动化验证,自动化部署....(也不是光靠idea就能搞定)

    3.能够管理依赖(自动的下载第三方库,自动安装,自动引入到项目中)

    在Java世界中,除了maven还有很多其他的构建工具.

    ant,gradle......

    这些构建工具,大同小异.

    maven 下载安装.

    maven是一个单独的应用程序,也是Java写的.

    要想安装 maven 就需要先装好 JDK 啥的......

     

    可以通过官网,下载安装maven,但是没必要!!!

    其实idea内置了maven.

    当前阶段使用idea内置的maven就可以了. 

    如何使用maven.

    需要使用idea创建一个maven项目.

    1.新建一个 maven 项目

    选择maven这个选项

     

     选择之后

     

     

     

    关于pom.xml

    啥是xml?

    前面的篇章有提到过

    在自定义协议的时候.

    应用层协议.

    程序猿自己定义一个协议.

    约定好内容,格式.

    xml就是一种广泛使用的数据格式.

    一个xml文件是有很多的标签构成的.

     由一对<>就组成一个标签.

     

    在pom.xml文件中,这里的标签也是有明确语义的,这个是maven自身约定的,咱们只能遵守

     

    使用maven

    当前使用maven主要可以做两件事:

    1.用来管理依赖(自动下载安装引入第三方库)

    需要修改pom.xml~

    怎么修改,首先要有一个dependencies 标签

     

      当在dependencies把依赖写好之后,此时当jar下载完成,也就同时自动的引入项目中,不需要额外的配置.

    接下来就可以在代码中使用对应的库了~

     创建一个文件

    2.用来打包构建~

     打包操作,通过maven这个面板,就可以直接打包~

    在pom.xml中,还有一些其他的标签选项,来控制 打包的一些具体行为~

    先不介绍,后面篇章再写. 

  • 相关阅读:
    1.2 无监督学习和强化学习
    v86.01 鸿蒙内核源码分析 (静态分配篇) | 很简单的一位小朋友 | 百篇博客分析 OpenHarmony 源码
    【Snabbdom】虚拟DOM-Snabbdom
    RMarkdown进阶操作
    【顺序程序设计-谭浩强适配】(适合专升本、考研)
    CTF-include
    用form表单以post的方式提交数据跳转地址
    Decorator
    脚本是什么意思?有什么特点?与RPA有哪些区别?
    SSM之spring注解式缓存redis
  • 原文地址:https://blog.csdn.net/m0_64397675/article/details/126094324