2018-09-02 学习笔记4

23. Maven 结构项目搭建

http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/maven-project-introduce.html

Maven项目搭建

学习前提

相对于传统的项目,Maven 下管理和构建的项目真的非常好用和简单,所以这里也强调下,尽量使用此类工具进行项目构建。

学习本讲还有一个前提:你必须会 Maven 相关知识点,Maven 相关知识点是不在本专题的讲解范围里面的,所以请自己私下进行学习。如果愿意你也可以看我过去整理的一份视频(提取码:wh5g):http://pan.baidu.com/s/1eSovBkI


  1. 由于自己没有学习过Maven,因此先学习一下,按照上面的百度云。

学习过程:

教程网站:https://www.tutorialspoint.com/maven/maven_overview.htm

Maven的一些简单的知识点

安装完成

conf



setting.xml 可以备份下来,设置文件
默认的setting不行,需要进行修改

仓库的概念

中央仓库,本地仓库

修改完安装目录的 setting.xml之后 最好把 文件夹的 setting覆盖

  • maven部分内容较多,先暂时看完此IntelliJ教程后再攻克。

  • 新开 maven学习笔记。

Maven 常用设置介绍

image.png
  1. 如上图标注 1 所示,我们可以指定我们本地 Maven 的安装目录所在,因为我已经配置了 MAVEN_HOME 系统参数,所以直接这样配置 IntelliJ IDEA 是可以找到的。但是假如你没有配置的话,这里可以选择你的 Maven 安装目录。
  2. 如上图标注 2 所示,我们还可以指定 Maven 的 settings.xml 位置和本地仓库位置。
image.png

如上图标注 1 所示,Import Maven projects automatically 表示 IntelliJ IDEA 会实时监控项目的 pom.xml 文件,进行项目变动设置。
如上图标注 2 所示,在 Maven 导入依赖包的时候是否自动下载源码和文档。默认是没有勾选的,也不建议勾选,原因是这样可以加快项目从外网导入依赖包的速度,如果我们需要源码和文档的时候我们到时候再针对某个依赖包进行联网下载即可。IntelliJ IDEA 支持直接从公网下载源码和文档的。
如上图标注 3 所示,可以设置导入的 VM 参数。一般这个都不需要主动改,除非项目真的导入太慢了我们再增大此参数。

Maven 骨架创建 Java Web 项目

  • 如上图 Gif 演示,根据已有的 Maven 骨架进行 Java Web 项目创建。其中需要特别注意的是,在创建项目过程中 Maven 会去外网中央仓库中下载对应的依赖或是组件,这个过程根据自身网络环境决定其快慢。如果出现无法下载的情况请自备 VPN 或者通过修改 Maven 配置文件 settings.xml 切换国内的中央仓库。
  • 由于我已经试过多次了,所以 Gif 演示中我可以快速创建好,但是你那边不一定是这种情况的。

启动 Java Web 项目

  • 如上图 Gif 演示,配置好项目之后,启动 Tomcat 容器可以良好运行。

Maven 组件来管理项目

  • 我们已经了解了如何通过 Maven 骨架生成一个最简单的 Java Web 项目,可是我们还是使用了 IntelliJ IDEA 的项目管理功能进行 Maven 项目的管理和构建。一般 Maven 的项目我们都可以脱离 IntelliJ IDEA 的项目配置功能进行独立的管理和构建的,接下来我们就讲如何通过 IntelliJ IDEA 提供的 Maven 管理工具进行项目的管理和构建。

Maven 组件界面介绍

如上图标注 1 所示,为常用的 Maven 工具栏,其中最常用的有:

第一个按钮:Reimport All Maven Projects 表示根据 pom.xml 重新载入项目。一般当我们在 pom.xml 添加了依赖包或是插件的时候,发现标注 4 的依赖区中没有看到最新写的依赖的话,可以尝试点击此按钮进行项目的重新载入。
第六个按钮:Execute Maven Goal 弹出可执行的 Maven 命令的输入框。有些情况下我们需要通过书写某些执行命令来构建项目,就可以通过此按钮。
第九个按钮:Show Dependencies 显示项目依赖的结构图,可以方便我们直观项目的依赖包情况。这个功能有些具体的操作下面会专门进行讲解。
如上图标注 2 所示,常用的 Maven 生命周期的命令,通过双击对应的命令来执行项目编译、打包、部署等操作。

如上图标注 3 所示,为我们在 pom.xml 中配置的插件列表,方便调用插件。

如上图标注 4 所示,为我们在 pom.xml 中配置的依赖包列表。

如上图标注 5 所示,为常见的 Java Web 在 Maven 下的一个项目结构。

Maven 的 Tomcat 插件运行项目

>

如上图 Gif 演示,通过 Maven 生命周期的命令进行编译和打包,及用 Maven 的 Tomcat 插件运行项目。
虽然我们可以通过 Maven 组件进行项目的管理,但是这并不等同于我们可以完全抛弃 IntelliJ IDEA 的项目设置,比如我们在 pom.xml 文件中设置了 JDK 编译版本是 1.7,但是在项目的 Ctrl + Shift + Alt + S 配置中,我们配置的 JDK 是 1.8,那即使我们用 Maven 的编译工具或命令进行编译也是会调用 1.8的。还有即使我们在 Ctrl + Shift + Alt + S 配置中没有配置 Artifacts,在我们运行 Maven 的 Tomcat 插件的时候也会自动帮我们生成的。

image.png
  • 如上图箭头所示,点击此按钮会出现左边的项目依赖结构图,通过此图我们可以很好的观察项目的依赖依赖情况。
  • 如上图标注 1 所示,我们可以直接在依赖结构图上编辑依赖,常用的就是此排除功能。
image.png
  • 如上图描述,一般我们在出现红色线的时候是都要进行排除的,防止出现因为版本不同的依赖包造成代码无法编译。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,636评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,890评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,680评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,766评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,665评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,045评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,515评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,182评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,334评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,274评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,319评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,002评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,599评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,675评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,917评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,309评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,885评论 2 341

推荐阅读更多精彩内容

  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,713评论 6 342
  • 前言 本教程建立在假设你对idea有一个初步的概念,方便你更快的掌握和使用Intellij Idea开发工具。由于...
    Albert_Yu阅读 8,895评论 2 15
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,263评论 25 707
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,563评论 18 139
  • 又是一年的最后一天,距离新年还有几个小时,在年末每个人都习惯性的做一些总结和展望,我也不例外。对于2016年,...
    夏所珍创作室阅读 475评论 0 1