当前位置: 首页 > news >正文

maven——(重要)手动创建,构建项目

创建项目

手动按照maven层级建好文件夹,并写上java,测试代码和pom文件
在这里插入图片描述

构建项目

在dos窗口中执行如下命令
在这里插入图片描述

compile编译

当前maven仓库中什么都没有。
在这里插入图片描述

在pom所在层级下,执行:
mvn compile
就开始显示下面这些,就是在!!下载:执行compile功能对应的插件,没有插件做不了这个功能。!!
在这里插入图片描述
这时候看maven本地仓库,就有东西了,就是他从配置的中央仓库(我们配置的是阿里云)下载的东西
在这里插入图片描述
显示的下载的插件:
resource插件
在这里插入图片描述
compile插件
在这里插入图片描述
在本地仓库查找:
路径下显示的就是下载的插件
在这里插入图片描述
最终执行成功靠的是jar包完成的:
在这里插入图片描述
最后,执行compile:
在这里插入图片描述
主要就是第一次需要下插件耽误时间,再编译一次,就很快了:
在这里插入图片描述
然后再看项目目录,多一个target:
里面classes里是编译后的东西:
在这里插入图片描述

clean

第一次执行同样先下载,然后执行
完成后target目录消失了
在这里插入图片描述

关于target目录

就是存放编译生成物的,clean就是负责给target删掉的。

test

test-classes测试代码编译后生成的字节码文件夹
在这里插入图片描述

package

mvn package
结束生成个jar包:只打包源程序的
在这里插入图片描述
过程:
先编译,再测试,然后再打包,又自动把这几个命令执行了一遍。最后再打包。——为了正确性

install(安装)

作用:把打包的东西放到maven本地仓库里。
过程:还是会把之前的编译打包再执行一遍,保证正确性。
执行前:
在这里插入图片描述
结束后:
本地仓库如下路径下,生成了刚刚package生成的jar包。
在这里插入图片描述
在这里插入图片描述
!!!为什么放在com-itheima下:
!!因为最初定义的groupid是com-itheima
详细路径:
在这里插入图片描述

!!总结

maven项目构建说实在就是把日常我们做的工作做成命令,一键执行就行。
为什么这么做?idea不是都做完了吗?

!!首先idea没有打包!!,!!其次idea编译完只是在我们自己的计算机上做的!!,!!我们的程序到linux服务器上传上去源代码以后要用他的环境去编译!!,那时候就得靠这些命令。

所以maven为啥是个项目构建工具,就是做这些的。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 部署YUM仓库及NFS共享功能
  • docker拉取镜像-配置阿里云镜像加速
  • Python | Leetcode Python题解之第229题多数元素II
  • vue3实现vuedraggable实现拖拽到垃圾桶图标位置进行删除
  • TypeScript中的交叉类型
  • Qt/C++项目积累: 2.主机监控器 - 2.2 历史功能实现
  • 解决QT creator中文乱码问题
  • 【RHCE】系统服务综合实验
  • WPS点击Zotero插入没有任何反应
  • 谷粒商城学习笔记-18-快速开发-配置测试微服务基本CRUD功能
  • 从3D扫描到CAD模型【逆向工程】
  • 使用大模型进行SQL迁移的实践总结
  • 力扣8,字符串转换整数
  • 搭建基于 ChatGPT 的问答系统
  • 代码随想录算法训练营DAY60|并查集理论基础、寻找存在的路径
  • 【Leetcode】101. 对称二叉树
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • ES2017异步函数现已正式可用
  • ESLint简单操作
  • Facebook AccountKit 接入的坑点
  • gops —— Go 程序诊断分析工具
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • javascript 总结(常用工具类的封装)
  • Octave 入门
  • React组件设计模式(一)
  • Vue.js 移动端适配之 vw 解决方案
  • 机器学习 vs. 深度学习
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 前嗅ForeSpider中数据浏览界面介绍
  • 什么是Javascript函数节流?
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 我从编程教室毕业
  • 我的zsh配置, 2019最新方案
  • - 转 Ext2.0 form使用实例
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • ​VRRP 虚拟路由冗余协议(华为)
  • ​第20课 在Android Native开发中加入新的C++类
  • #NOIP 2014# day.1 T2 联合权值
  • #QT(一种朴素的计算器实现方法)
  • #每天一道面试题# 什么是MySQL的回表查询
  • (007)XHTML文档之标题——h1~h6
  • (C语言)fgets与fputs函数详解
  • (C语言)共用体union的用法举例
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (附源码)计算机毕业设计SSM在线影视购票系统
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (十)Flink Table API 和 SQL 基本概念
  • (太强大了) - Linux 性能监控、测试、优化工具
  • (未解决)macOS matplotlib 中文是方框