【JavaWeb】Maven 梦里梦外; 2024-04-26 03:01 51阅读 0赞 > ? 本文由 [程序喵正在路上][Link 1] 原创,CSDN首发! > ? 系列专栏:[JavaWeb开发][JavaWeb] > ? 首发时间:2024年2月3日 > ? 欢迎关注?点赞?收藏?留言? #### 目录 #### * 概述 * * 什么是 Maven * Maven的作用 * Maven的组成 * Maven的安装 * IDEA集成Maven * * 配置Maven环境(当前工程) * 配置Maven环境(全局) * 创建Maven项目 * 导入Maven项目 * 依赖管理 * * 依赖配置 * 依赖传递 * 依赖范围 * 生命周期 ## 概述 ## ### 什么是 Maven ### * Apache Maven 是一个项目管理和构建工具,它基于项目对象模型 (POM) 的概念,通过一小段描述信息来管理项目的构建 * 官网:[http://maven.apache.org/][http_maven.apache.org] ![在这里插入图片描述][02bc7c1b81304064ba70f557275487b7.png] * Apache 软件基金会,成立于1999年7月,是目前世界上最大的最受欢迎的开源软件基金会,也是一个专门为支持开源项目而生的非盈利性组织 * 开源项目:[https://www.apache.org/index.html\#projects-list][https_www.apache.org_index.html_projects-list] ![在这里插入图片描述][9bb4ffb5575d47f0957e45f788fce31b.png] ### Maven的作用 ### ![在这里插入图片描述][da5a34f94f8c4ed69cdfcc42a8a589cb.png] 1. 依赖管理 在大型项目中,有时候会依赖很多的资源,比如大量的 jar 包。在前面,我们导入 jar 包的方式是去网上找,然后下载导入到项目中。首先步骤就很繁琐,而且后面我们如果要升级资源的版本,又得再重复一遍之前的步骤。 ![在这里插入图片描述][168e0a2b55374713a64074d33ea251e5.png] 使用 Maven 后,我们不用再自己去找所需要的资源,我们只需要声明我们需要的资源,Maven 就会自动帮我们下载导入进项目: ![在这里插入图片描述][944d72f966c44391bebdfda1aa74647a.png] 2. 统一项目结构 市面上存在着很多开发工具,它们创建出来的项目结构都不太一样,当一个项目从一个开发工具移动到另一个开发工具时就会出现问题。 但是,用 Maven 创建出来的项目都拥有统一的项目结构,在所有开发工具都是通用的 ![在这里插入图片描述][a0e3313801fd47f5b9a6d690ea903d95.png] 1. 项目构建 ![在这里插入图片描述][0e3d35129dc74261aa64893d0a61c0a4.png] Maven 创建的项目构建很简单,我们只需要点击一下就可以对我们的程序进行编译、测试和打包等 ### Maven的组成 ### ![在这里插入图片描述][700d647e08124e6387b330549c8d9f0b.png] 仓库:用于存储资源,管理各种 jar 包 * 本地仓库:自己计算机上的一个目录 * 中央仓库:由Maven团队维护的全球唯一的。 仓库地址:[https://repo1.maven.org/maven2/][https_repo1.maven.org_maven2] * 远程仓库(私服):一般由公司团队搭建的私有仓库 当我们向 Maven 请求资源时,它会先从本地仓库查找,如果本地仓库没有,则会联网从中央仓库下载;如果有私服,Maven 会先从本地仓库查找,如果本地仓库没有,则会到私服查找。如果私服也没有,则会联网从中央仓库下载到私服中,再从私服中导入。 ![在这里插入图片描述][40eb1251243e4630ba658d715e6e291a.png] ### Maven的安装 ### 1. [点击此处到官网下载 maven3.6.1][maven3.6.1] ![在这里插入图片描述][4feaba7d561c44b09268bf47f680fda7.png] 2. 将下载好的压缩包解压到一个没有中文没有空格的目录下 ![在这里插入图片描述][7673a5679418463c8496d1953c8f55d7.png] 3. 配置本地仓库:修改 conf/settings.xml 中的 为一个指定目录 在解压后的 Maven 目录下,新建一个文件夹 mvn\_repo,这里以后就是我们的本地仓库,创建完复制其路径;打开 conf 目录下的 setting.xml,将第 53 行代码复制一下注释外面,然后把刚刚复制的路径粘贴到标签内即可 ![在这里插入图片描述][fa98331dbb304e20a607d6c8712ddbe0.png] 4. 配置阿里云私服:修改 conf/settings.xml 中的 标签,为其添加如下子标签: <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> 往下来到 154 行左右的 mirrors 标签,将其原有的子标签注释掉,将上面的 mirror 子标签复制到其中: ![在这里插入图片描述][7a628d0c75d8481ca002eacd2445dd8f.png] 5. 配置环境变量: MAVEN\_HOME 为 maven 的解压目录,并将其bin目录加入PATH环境变量 首先将 maven 的目录复制一下,在电脑的 “此电脑” 处右键选择属性,再选择高级系统设置,点击环境变量: ![在这里插入图片描述][79c93beb0a734a2e8d2ce11926c29378.png] 新建系统变量,变量值为 maven 的目录: ![在这里插入图片描述][9c01c8d9b9364a42b37219a68232d5fa.png] 接下来,找到系统变量的 path 变量: ![在这里插入图片描述][f9b7ad764c02443c844b2e11372c387b.png] 将 maven 的 bin 目录加入其中: ![在这里插入图片描述][20811d4c26404cf4a9abcf28d12930af.png] 测试一下: 打开 cmd,执行指令 mvn -v,安装配置成功: ![在这里插入图片描述][26ffaf86d2ee4b3a8a49f1fe17656817.png] ## IDEA集成Maven ## ### 配置Maven环境(当前工程) ### 1. 创建一个空项目,命名为 web\_project,创建后记得选择项目使用的 JDK 版本 2. 选择 IDEA中 File → \\rightarrow → Settings → \\rightarrow → Build,Execution,Deployment → \\rightarrow → Build Tools → \\rightarrow → Maven,设置 IDEA 使用本地安装的 Maven,并修改配置文件及本地仓库路径 ![在这里插入图片描述][31194189b9d347f4831aaa59fbc56cec.png] 3. 点击 Maven 目录下的 Runner,修改一下你使用的 JDK ![在这里插入图片描述][1d89ebab16444311be72986bea69956a.png] 4. 点击 Complier 目录下的 Java Complier,修改项目字节码版本为 11 ![在这里插入图片描述][5b0a0c661d1c46c4aefa549084292637.png] 到这里,这个工程的 Maven 环境就配置完成了。如果我们再创建一个工程,依旧要按照上面的步骤进行配置,还是很麻烦的,所以下面我们来说一下怎么配置全局的 Maven 环境。 ### 配置Maven环境(全局) ### 1. 首先,关闭项目,来到这个界面: ![在这里插入图片描述][80bf7efb4eb8493ab3f8ceaf2952baff.png] 2. 点击 Customize,再点击 All settings ![在这里插入图片描述][cceca53a9d0c4d61855dca63685c0cef.png] 3. 按照前面单个工程的配置进行配置 ### 创建Maven项目 ### ps:如果你刚刚下载的是最新版本的 maven,在按照我下面的步骤创建项目后出现报错,请下载回我推荐的版本。 1. 打开刚刚创建的空项目,点击左上角的 File → \\rightarrow → New → \\rightarrow → Module 2. 创建模块,选择Maven,点击Next ![在这里插入图片描述][76f515db2cd94c99bba1238ca1d0343b.png] 3. 填写模块名称,坐标信息,点击finish,创建完成 ![在这里插入图片描述][53a0dc5d14814a5990025b223fc449e6.png] 4. 项目创建完成: ![在这里插入图片描述][232903acd2d54d9faadfc4a767aefb91.png] 同时,mvn\_repo 目录下也多了一些资源 ![在这里插入图片描述][eac8401bd4e34706a6c125ea2f58621e.png] 5. 编写 HelloMaven,并运行 在 src 目录下的 main 目录下的 java 文件夹中创建 HelloMaven 类,可以顺便连包一起创建: ![在这里插入图片描述][7229210c4ddb453fbb87561a8ae5e524.png] ![在这里插入图片描述][1168dbf32ff8474d90b64298d011b84e.png] 右键运行,成功,同时我们会发现左侧多了一个 target 目录,这里就是用来存放编译产生的字节码文件等等: ![在这里插入图片描述][333b73e9317249d9a11c9869071158bf.png] **Maven坐标** 在 Maven 创建的项目的 pom.xml 文件中,我们可以看到这样的代码,这种称为 Maven 坐标: ![在这里插入图片描述][b7638b291eb641ef9ac5bd3e42f26b8a.png] **什么是坐标?** * Maven 中的坐标是资源的唯一标识,通过该坐标可以唯一定位资源位置 * 用途:使用坐标来定义项目或引入项目中需要的依赖 **Maven 坐标主要组成** * groupId:定义当前 Maven 项目隶属组织名称(通常是域名反写,例如:com.baidu) * artifactId:定义当前 Maven 项目名称(通常是模块名称,例如 order-service、goods-service) * version:定义当前项目版本号 **举例** * 导入 logback <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</version> </dependency> ### 导入Maven项目 ### 方式一:打开IDEA,选择右侧 Maven 面板,点击 + 号,选中对应项目的 pom.xml 文件,双击即可 ![在这里插入图片描述][f9571fb11f7c4b5ea1ca9deccac03c7a.png] 如果你的 Maven 面板没有打开,可以按照下列步骤打开: 左上角 View → \\rightarrow → Appearance → \\rightarrow → Tool Window Bars ![在这里插入图片描述][de6c246e88274a4f9c19431ea3685b02.png] 方式二:打开IDEA,选择左上角 File → \\rightarrow → Project Structure,点击 + 号,选择 import Module,选中对应项目的 pom.xml 文件,确定即可 ![在这里插入图片描述][abf4e8ed74d34546bec64c07d1a53aa8.png] ## 依赖管理 ## ### 依赖配置 ### * 依赖:指当前项目运行所需要的 jar 包,一个项目中可以引入多个依赖 * 配置步骤: * 在 pom.xml 中编写 `<dependencies>` 标签 * 在 `<dependencies>` 标签中使用 `<dependency>` 引入坐标 * 定义坐标的 groupId,artifactId,version * 点击刷新按钮,引入最新加入的坐标 具体步骤: 1. 在 pom.xml 中编写 `<dependencies>` 标签 ![在这里插入图片描述][0de9535bea574b44a80dd65e6aa85d6d.png] 2. 在 `<dependencies>` 标签中使用 `<dependency>` 引入坐标 ![在这里插入图片描述][d0473219d8664f28b615e04f142a43cf.png] 3. 定义坐标的 groupId,artifactId,version 首先,先定义 artifactId,在 artifactId 标签中输入 logback-classic,然后在弹出的 groudId 联想中选择 ch.qos.logback: ![在这里插入图片描述][d94c9391d2f346c2bd290bb804360fce.png] 这时项目会自动生成 version 标签,然后我们再自己选择一个版本号即可: ![在这里插入图片描述][3417f2b975ec486a8705f61f54b8f727.png] 如果你的 IDEA 没有提示,请手动写入 4. 点击刷新按钮,引入最新加入的坐标 做完前面的步骤,代码会爆红,不用怕,点击一下右上角的刷新按钮,再等待一下即可 ![在这里插入图片描述][2b0112592d004c0bb3e38aee30b974e5.png] 点击一下 Maven 面板,发现多了一个 Dependencies,这个依赖就配置完成了 ![在这里插入图片描述][aa22b7f3795a48318eaa553356181780.png] 如果你觉得上述配置太过繁琐,或者不知道依赖的坐标信息,下面推荐一个网站 [https://mvnrepository.com/][https_mvnrepository.com] 来帮助我们配置依赖 ![在这里插入图片描述][5e679fef079d4a75b1c124f7e890dbca.png] 进入网站,搜索你需要的依赖,选择你要的模块: ![在这里插入图片描述][dc3893b30aca41168bf0295224e53a2c.png] 点击进入,可以看到这个模块的不同版本以及被使用的次数: ![在这里插入图片描述][0893f706fc004503adfe3bac37983f25.png] 刚刚我们配置的是 1.2.3 版本的,如果我们想要配置 1.2.10 版本的,该怎么操作呢? 很简单,在这个页面往下滑,找到 1.2.10 版本: ![在这里插入图片描述][92155b3267af4d5b9c96302c91a09090.png] 点击进入,将方框内的内容复制到 pom.xml 中,然后将不用的 scope 标签删掉,再点击一下刷新按钮即可: ![在这里插入图片描述][8a3380b9b414429c83fd75f418f50b68.png] ![在这里插入图片描述][5c2695c233a74367abf640650f51ce9f.png] 注意:如果引入的依赖,在本地仓库不存在,将会连接远程仓库/中央仓库,然后下载依赖(这个过程会比较耗时,耐心等待) ### 依赖传递 ### 依赖具有传递性 * 直接依赖:在当前项目中通过依赖配置建立的依赖关系 * 间接依赖:被依赖的资源如果依赖其他资源,当前项目间接依赖其他资源 ![在这里插入图片描述][76294956d17a4572bf73553ba8a3e39a.png] 在 pom.xml 中右键可以查看项目的依赖关系: ps:博主使用的 IDEA 为 2021.1.3旗舰版 ![在这里插入图片描述][f3948af41ee2413c8f5706744998b86c.png] ![在这里插入图片描述][5486019c0f924f68bd49567868950577.png] 按住 Alt 键还有放大镜效果: ![在这里插入图片描述][533bac307135413fabe4eefb46c5043d.png] 排除依赖 * 排除依赖指主动断开依赖的资源,被排除的资源无需指定版本 * 使用标签 `<exclusions>` 来排除依赖 ![在这里插入图片描述][0f84e76191774c32952bda3e5d34d11e.png] ### 依赖范围 ### 依赖的 jar 包,默认情况下,可以在任何地方使用。可以通过 `<scope>…</scope>` 设置其作用范围。 默认作用范围: * 主程序范围有效(main文件夹范围内) * 测试程序范围有效(test文件夹范围内) * 是否参与打包运行(package指令范围内) ![在这里插入图片描述][3a47d1aa1704491eaab00fe2fbeed12e.png] ### 生命周期 ### Maven的生命周期是为了对所有的maven项目构建过程进行抽象和统一。 在 Maven 中,有3套相互独立的生命周期: * clean:清理工作 * default:核心工作,如:编译、测试、打包、安装、部署等 * site:生成报告、发布站点等 ![在这里插入图片描述][eeb63b5980bb413f9d51846dd0a29396.png] 每套生命周期包含一些阶段(phase),阶段是有顺序的,后面的阶段依赖于前面的阶段。 注意:在同一套生命周期中,当运行后面的阶段时,前面的阶段都会运行。 ![在这里插入图片描述][de2ddc8ce5a84bcb904e3a7ed9025d6d.png] 我们主要关注 5 个阶段: * clean:移除上一次构建生成的文件 * compile:编译项目源代码 * test:使用合适的单元测试框架运行测试 (junit) * package:将编译后的文件打包,如:jar、war等 * install:安装项目到本地仓库 ![在这里插入图片描述][93da8e5d3fde4309aa49a74a90bd3502.png] 执行指定生命周期的两种方式: 1. 在idea中,右侧的 maven 工具栏,选中对应的生命周期,双击执行 2. 在命令行中,通过命令执行 ![在这里插入图片描述][9594434bd288443aae42a4b8b9aad39a.png] 如果你想跳过测试阶段,可以点击测试阶段,然后再点击右上角的闪电符号: ![在这里插入图片描述][e07dc2fc7a914495a8d7ff653d6dca51.png] [Link 1]: https://blog.csdn.net/weixin_62511863?spm=1011.2421.3001.5343 [JavaWeb]: https://blog.csdn.net/weixin_62511863/category_12511257.html?spm=1001.2014.3001.5482 [http_maven.apache.org]: http://maven.apache.org/ [02bc7c1b81304064ba70f557275487b7.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/c822561688884e1c87d98397c38324e2.png [https_www.apache.org_index.html_projects-list]: https://www.apache.org/index.html#projects-list [9bb4ffb5575d47f0957e45f788fce31b.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/47dd736874d0487791c2908bb4baa155.png [da5a34f94f8c4ed69cdfcc42a8a589cb.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/4186a7e0467b432392fbbe4a2b833320.png [168e0a2b55374713a64074d33ea251e5.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/48b8bf3bff4c4d13b4f663dedb6df942.png [944d72f966c44391bebdfda1aa74647a.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/cade3ee5154d41b0820cbb2f1de00a95.png [a0e3313801fd47f5b9a6d690ea903d95.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/e2ef3afe4b55492e8960758d72d37585.png [0e3d35129dc74261aa64893d0a61c0a4.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/91ab466383154b649e9d897a2b40b771.png [700d647e08124e6387b330549c8d9f0b.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/876df0b40b304001bd4870b7ccad3c38.png [https_repo1.maven.org_maven2]: https://repo1.maven.org/maven2/ [40eb1251243e4630ba658d715e6e291a.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/9b924944b1324068b105f509162c2dd2.png [maven3.6.1]: https://archive.apache.org/dist/maven/maven-3/3.6.1/ [4feaba7d561c44b09268bf47f680fda7.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/a717c27c357f4d3fa21c95a947818388.png [7673a5679418463c8496d1953c8f55d7.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/2d3621f052284636b7195ae9d3699179.png [fa98331dbb304e20a607d6c8712ddbe0.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/03e09f1799bc44e8863f9b0a77b94bcc.png [7a628d0c75d8481ca002eacd2445dd8f.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/641daac562cd4694a233300c8fb75d88.png [79c93beb0a734a2e8d2ce11926c29378.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/90c0d04031c848e2bc45688ee2445404.png [9c01c8d9b9364a42b37219a68232d5fa.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/9d639007e36c439283ff1f8019f726b5.png [f9b7ad764c02443c844b2e11372c387b.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/da10c4466b584c14aed05286f0204a22.png [20811d4c26404cf4a9abcf28d12930af.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/3c9a167488b84448b2a1970cea41207d.png [26ffaf86d2ee4b3a8a49f1fe17656817.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/cad72fd2b1314b1e8c9f57aee181aeb3.png [31194189b9d347f4831aaa59fbc56cec.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/184dc1329bcb4bf2b101abebeb6e13b0.png [1d89ebab16444311be72986bea69956a.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/13a43ed403374b0b81d1f09a169073bf.png [5b0a0c661d1c46c4aefa549084292637.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/fcf6d18737da4f92996780f05f93bbf3.png [80bf7efb4eb8493ab3f8ceaf2952baff.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/a5578e796b4d459fbf34ec3fbb1184e8.png [cceca53a9d0c4d61855dca63685c0cef.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/35aa67fdc36b4f9a81c79c958d1b82f8.png [76f515db2cd94c99bba1238ca1d0343b.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/149f3ab3f9924942980b7b726b39e2a4.png [53a0dc5d14814a5990025b223fc449e6.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/8644ec5bf9c84f19b5f97d07730a97fc.png [232903acd2d54d9faadfc4a767aefb91.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/5292e3e78c1e45f29c73d8b776be6a4e.png [eac8401bd4e34706a6c125ea2f58621e.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/cca9141daf4748a1923571f5f2f66801.png [7229210c4ddb453fbb87561a8ae5e524.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/0125c2e56c084d8cbe39681cc57af40e.png [1168dbf32ff8474d90b64298d011b84e.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/87a51b48b0494d1f91446201019dac06.png [333b73e9317249d9a11c9869071158bf.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/96982aa1164d43e680926f454090ee3f.png [b7638b291eb641ef9ac5bd3e42f26b8a.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/64b71126700b47879b790394681ee070.png [f9571fb11f7c4b5ea1ca9deccac03c7a.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/a646abc02c4e4a72974a1059ae7e6e61.png [de6c246e88274a4f9c19431ea3685b02.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/63013901c85646a5a6dbcef965fcdf93.png [abf4e8ed74d34546bec64c07d1a53aa8.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/4e558ca919ad4696bbd50635c33e8faf.png [0de9535bea574b44a80dd65e6aa85d6d.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/de5a046c39894a9a9e8c6134d3b02ae8.png [d0473219d8664f28b615e04f142a43cf.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/019ecfa47db64f58a69fae823e3260a7.png [d94c9391d2f346c2bd290bb804360fce.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/6e1b9bdad57a4b40baa4986569db09d4.png [3417f2b975ec486a8705f61f54b8f727.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/941987efef254686a92fcbb5d9469113.png [2b0112592d004c0bb3e38aee30b974e5.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/0f34fb8a19ee40bb8607942f5d83da52.png [aa22b7f3795a48318eaa553356181780.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/ed1eba4f10bb4fcfb5448bdc9dc30b52.png [https_mvnrepository.com]: https://mvnrepository.com/ [5e679fef079d4a75b1c124f7e890dbca.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/6313b2ca77154ebd9611959ddf1aa77a.png [dc3893b30aca41168bf0295224e53a2c.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/d131d3d5b1134012b4419789afa79b68.png [0893f706fc004503adfe3bac37983f25.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/dd86a7cb10074e50a185caf754a1128b.png [92155b3267af4d5b9c96302c91a09090.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/c86a282c85c54dd484ecb62056852cc2.png [8a3380b9b414429c83fd75f418f50b68.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/02e7193e1d7d4a27b100c7db5c7c08a0.png [5c2695c233a74367abf640650f51ce9f.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/c8c99bfe479445138059829f812c211f.png [76294956d17a4572bf73553ba8a3e39a.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/433bd66394db4395941f0bc715891ff0.png [f3948af41ee2413c8f5706744998b86c.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/d55deeafe73b4725a4cd28fbd74b0248.png [5486019c0f924f68bd49567868950577.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/b6d1653277194b9b99e8e4d0c3a3086d.png [533bac307135413fabe4eefb46c5043d.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/784d81a9c8824c20aaaf633b03782233.png [0f84e76191774c32952bda3e5d34d11e.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/0da770482a504001a3fb712b4bbea928.png [3a47d1aa1704491eaab00fe2fbeed12e.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/ee688c40a5514e6183e399cbbf3ffd16.png [eeb63b5980bb413f9d51846dd0a29396.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/d152785360344946b4c3024a92b87fed.png [de2ddc8ce5a84bcb904e3a7ed9025d6d.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/c6502c805f624c809da5469995d23b3a.png [93da8e5d3fde4309aa49a74a90bd3502.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/5d1da8e2c49e48249ed200368a03185c.png [9594434bd288443aae42a4b8b9aad39a.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/93f19469ffd541aaa45397589e549221.png [e07dc2fc7a914495a8d7ff653d6dca51.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/26/c6d6acdb58b14acf8482f4aadb8c9007.png
还没有评论,来说两句吧...