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

安装好IDEA后,就能够直接开始跑代码了吗?

我实习的第一天,睿哥叫我安装了IDEA,然后我就照做了。

之后,我把gitlab的代码拉下来后,发现好像没有编译运行的按钮,所以我就跑去问睿哥。睿哥当时看了看后,发现原来我没有安装JDK,他就叫我安装了一个JDK(其实他帮我装的,直接在我面前装好了),然后在IDEA的面板上选择了这个刚安装好的JDK,就可以运行了。

我当时就很好奇,安装JDK就可以运行了?

我就上网搜了一下,看看那些人是怎么说的,然后看了几篇文章之后,我大概了解的差不多了。

JDK里面有两个很重要的文件夹,分别是bin和jre。

bin里面原来有一个编译器,怪不得我当时只装了一个IDEA的时候没法编译。

jre里面是Java的运行环境(这个运行环境有JVM、类库),使得编译后的Java代码可以在不同的操作系统上运行。注意,jre是Java的运行环境,不是开发环境。也就是说Java程序是运行在jre这个运行环境之上的。

当我把IDEA装好,把JDK装好之后,睿哥就叫我配置Maven。

我一开始不太明白为什么要配置Maven,而不是下载Maven。后来上网查了一下,也问了一下睿哥,我想大概是这样的:原来IDEA自己捆绑了一个Maven,所以就用IDEA捆绑的Maven就好了,不用自己下载一个,如图:

我们只需要搞一个配置文件setting.xml就可以了。

关于配置Maven这里,我感觉还没有配置好,因为我没有用上睿哥的setting.xml文件,明天问问他。

为什么需要使用Maven呢?看下图:

除此之外,我们使用Maven还有好处,比如:

  1. 依赖声明
    在Maven项目的pom.xml(项目对象模型文件)中,你可以声明项目所需的依赖项。每个依赖项都通过其“坐标”来标识,这通常包括groupId、artifactId和version。

     
  2. 依赖解析
    当你构建项目时,Maven会检查pom.xml中声明的依赖项,并尝试解析这些依赖项。Maven会首先查找本地仓库(通常位于用户目录下的.m2/repository)中是否已有这些jar包。

  3. 依赖下载
    如果本地仓库中没有所需的jar包,Maven会从配置的远程仓库(如Maven中央仓库)中下载它们。这些jar包和它们的POM文件(包含依赖信息)将被存储在本地仓库中,以便将来使用。

  4. 依赖传递性
    Maven还支持依赖的传递性。也就是说,如果一个依赖项本身又依赖于其他jar包,Maven也会自动下载并管理这些传递性依赖项。

这就是那天我的工作,回过头来想想,我当初没有想过为什么要这样子干,就呆呆的跟着做,没有自己的思考。今天趁着有空,把自己的思考给写了下来。

相关文章:

  • 助力高考,一组彩色的文字
  • 趣谈网络协议
  • 第七章 Three.js 动画与交互
  • 热门开源项目推荐:技术与地址概览
  • laravel8使用中间件实现xss处理
  • 简单说一下STL中的map容器的特点、底层实现和应用场景【面试】
  • 【云原生】Kubernetes----Rancher助力Kubernetes监控
  • 开发uniapp 小程序时遇到的问题
  • DeepSORT(目标跟踪算法) 卡尔曼滤波 状态向量是如何映射到观测向量(测量向量)的即观测矩阵的构建方式
  • MySQL怎么为表添加描述
  • PR插件-图层抖动弹跳缩放旋转模糊闪烁缩放抖动动作效果预设
  • spring管理的对象通过@Init注解修饰的方法不会在new对象的时候触发
  • 【面向就业的Linux基础】从入门到熟练,探索Linux的秘密(二)
  • css3新增的伪类有哪些
  • mysql8.0 sql_mode与ONLY_FULL_GROUP_BY报错
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • echarts花样作死的坑
  • es6要点
  • Git学习与使用心得(1)—— 初始化
  • Hibernate最全面试题
  • Javascripit类型转换比较那点事儿,双等号(==)
  • jquery cookie
  • Redis的resp协议
  • Vue官网教程学习过程中值得记录的一些事情
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 大快搜索数据爬虫技术实例安装教学篇
  • 订阅Forge Viewer所有的事件
  • 解析 Webpack中import、require、按需加载的执行过程
  • 爬虫模拟登陆 SegmentFault
  • 普通函数和构造函数的区别
  • 微服务入门【系列视频课程】
  • 2017年360最后一道编程题
  • ​html.parser --- 简单的 HTML 和 XHTML 解析器​
  • #Z0458. 树的中心2
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • $L^p$ 调和函数恒为零
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (第27天)Oracle 数据泵转换分区表
  • (二)换源+apt-get基础配置+搜狗拼音
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (一)认识微服务
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (转)德国人的记事本
  • .htaccess配置重写url引擎
  • .Net Web窗口页属性
  • .NET(C#) Internals: as a developer, .net framework in my eyes
  • :“Failed to access IIS metabase”解决方法
  • ?php echo $logosrc[0];?,如何在一行中显示logo和标题?
  • @Bean有哪些属性