- linux部署Java项目流程
呆萌IT少女
linux项目部署mysqllinuxjava服务器nginx
项目部署流程开始准备需要的包,我用的是openJDK8,Mysql8,nginx0.6.361.搭建Linux环境若操作系统为windows环境,首先安装虚拟机并搭建对应的linux操作系统。2.安装Openjdk1.81.创建jdk目录mkdir-p/usr/local/javacd/usr/local/java2.解压tar-zxvfjdk包3.配置环境变量vim/etc/profileexp
- JAX study notes[9]
身在此心在彼
计算综合python开发语言
文章目录usingfunctionfrommoudleimportthespecialfuntionapplythefunctionimportedfromthelibrarywriteintofileusingosmoduleusingsysmoduletogettheargumentsofsysreferencesnotation#单行注释variablex=10#整数y=3.14#浮点数na
- 深入浅出Node.js后端开发
jghhh01
node.js
让我们来理解Node.js的核心——事件循环和异步编程模型。在Node.js中,所有的I/O操作都是非阻塞的,这意味着当一个请求开始等待I/O操作完成时(如读取文件或数据库操作),Node.js不会阻塞后续操作,而是继续执行其他任务。这种机制大大提高了应用的性能和吞吐量。constfs=require('fs');fs.readFile('file.txt','utf8',(err,data)=>
- Tomcat性能调优指南
文章目录一、Tomcat性能调优概述为什么需要调优Tomcat?二、Tomcat架构与性能关键点三、JVM调优1.内存配置优化2.垃圾回收优化3.其他JVM优化参数四、连接器(Connector)调优1.NIOvsAPR/Native2.高级NIO配置五、线程池优化六、会话管理优化1.会话超时配置2.会话持久化选择七、静态资源处理优化1.启用Sendfile2.配置静态资源缓存八、其他优化措施1.
- VB.NET在2021年后有哪些更新=待验证
专注VB编程开发20年
数据库VBc#.net开发语言
在2021年后,VB.NET随着VisualStudio和.NET平台的更新持续演进,主要在.NET6(2021年11月)、.NET7(2022年11月)和.NET8(2023年11月)中引入了以下特性和改进:1.语言特性增强文件范围的命名空间(.NET6)允许在文件顶部声明单个命名空间,无需大括号,减少缩进:vbNamespaceMyNamespace.FileScoped'整个文件的代码都属于
- Vue2案例
尔-尔
学习笔记vue前端
一、自定义创建项目1、基于VueCli自定义创建项目Babel/Router/Vuex/CSS/LinterVue2.xVueRouterhash模式CSS预处理LessESlint:StandardconfigLintonSaveIndedicatedconfigfiles(配置文件所在位置)Npm2、ESlint代码规范1.认识代码规范代码规范:一套写代码的约定规则。赋值符号的左右是否需要空格
- Git常见使用
北珣.
git
基本操作创建仓库1.先创建一个文件,再进入到对应的文件夹中#创建文件mkdir[file_name]#进入该文件cd[file_name]2.创建对应的Git仓库(在对应的文件夹内)#创建对应的仓库gitinit#可以查看当前文件内的内容llfile_name#查看tree目录tree.git/配置本地仓库必须要配置的配置项:nameemail为了方便操作,推荐在初始化仓库之后就进行配置#配置gi
- java 导出pdf去除边框_docx4j生成pdf时,如何指定pdf的页边框
生成pdf:publicStringsavePdf(WordprocessingMLPackagewordMLPackage,Mapdata)throwsException{StringpdfDir=getFilePath()+".pdf";Filefile=newFile(pdfDir);FileUtils.createDir(file);//使用默认的FOSettingssettings.se
- Pthon httpx 使用代理下载文件(qbit)
前言技术栈Python3.11.8httpx0.28.1示例代码#encoding:utf-8#author:qbit#date:2025-06-30#summary:httpx使用代理下载文件importhttpxproxy='http://127.0.0.1:8081'defDownFile(url,file):withopen(file,'wb')asf:withhttpx.stream('
- python网络安全实战_基于Python网络爬虫实战
weixin_39907850
python网络安全实战
文件的操作:一般都要使用os模块和os.path模块importos.pathos.path.exists('D:\\Python\\1.txt')#判断文件是否存在abspath(path)#返回path所在的绝对路径dirname(p)#返回目录的路径exists(path)#判断文件是否存在getatime(filename)#返回文件的最后访问时间getctime(filename)#返回
- ali docker部属paddleocr
大熊程序猿
ASP.NETCoredocker容器运维
dockerpullregistry.baidubce.com/paddlepaddle/paddle:2.6.0nano/root/projects/paddleocr_server.py========================fromflaskimportFlask,requestfromwerkzeug.utilsimportsecure_filenameimportuuidfrom
- 在 Excel 中实现引用另一个Excel文件中VBA代码的三种方法
唐骁虎
excelwindows
在Excel中,让第二个文件引用第一个文件中的VBA代码有以下几种方法:方法一:使用VBA项目引用操作步骤打开第一个包含VBA代码的Excel文件(假设为File1.xlsm)和第二个需要引用代码的Excel文件(假设为File2.xlsm)。在File2中,按下Alt+F11打开VBA编辑器。在VBA编辑器中,点击菜单栏的“工具”->“引用”。在弹出的“引用”对话框中,点击“浏览”按钮。找到并选
- 生信技能16 - 生信分析序列处理常用函数
生信与基因组学
生信分析项目实战技能合集pythonnumpy数据分析
生信分析序列处理常用函数生信分析经常需要对序列进行处理,下面的实现代码可用于个人练习,可以让我们更好地理解序列处理的原理,当然python也有更高效率的包可以实现以下功能。read_seq_file读取序列txt文件函数count_nucletotides计算各核苷酸数量函数dna2rnaDNA序列转RNA序列函数seq_reverseDNA序列转换为互补序列函数count_GC_ratio计算序
- Docker 镜像制作
Ris Hen
dockerdocker
目录镜像制作及原因快照方式制作镜像Dockerfile制作镜像为什么需要DockerfileDockerfile指令常见问题镜像制作及原因镜像制作是因为某种需求,官方的镜像无法满足需求,需要我们通过一定手段来自定义镜像来满足要求。制作镜像往往因为以下原因1.编写的代码如何打包到镜像中直接跟随镜像发布2.第三方制作的内容安全性未知,如含有安全漏洞3.特定的需求或者功能无法满足,如需要给数据库添加审计
- 解锁云原生微服务架构:搭建与部署实战全攻略
奔跑吧邓邓子
必备核心技能云原生架构微服务搭建与部署实战全攻略
目录一、引言二、微服务拆分2.1拆分的必要性2.2拆分方法2.3注意事项三、服务注册与发现3.1概念与原理3.2常用组件介绍3.3实践案例四、负载均衡4.1作用与原理4.2实现方式4.3负载均衡算法4.4案例与代码实现4.4.1项目依赖配置4.4.2配置Ribbon4.4.3代码实现负载均衡调用五、容器化部署5.1容器化技术基础5.2容器化部署流程5.2.1编写Dockerfile5.2.2构建D
- 人名分类器(RNN案例)
Turbo_O.
rnn深度学习人工智能
案例介绍:人名分类案例是多分类问题,根据人名预测属于哪个国家人名->x,国家->y监督学习,历史数据中已知y案例步骤:1.数据预处理获取常用字符以及国家类别#导入torch工具fromcProfileimportlabelimporttorch#导入nn准备构建模型importtorch.nnasnnimporttorch.optimasoptimfromjax.experimental.rnni
- 【Rust + Actix Web】现代后端开发:从零构建高并发 Web 应用
LCG元
前端rust前端开发语言
目录项目概述环境准备项目创建与依赖配置系统架构设计核心代码实现1.数据库模型(`src/models.rs`)2.应用状态管理(`src/state.rs`)3.核心业务逻辑(`src/handlers.rs`)4.主应用入口(`src/main.rs`)高并发优化策略1.异步处理模型2.连接池配置优化3.缓存策略设计性能测试结果部署方案Docker部署配置(`Dockerfile`)Kubern
- 概念篇: 01-带你认识Dockerfile
企鹅侠客
dockerfiledockerfile命令
在本篇文章中,我们将带你认识Dockerfile——构建Docker镜像的"蓝图"。我们会介绍它的基本概念和常用指令,帮助你理解如何使用它来打包你的应用。简单了解Docker(背景知识)在我们深入Dockerfile之前,简单回顾一下几个核心概念:Docker是什么?想象一下集装箱:无论里面装什么货物(代码、库、配置),集装箱本身(Docker)都能让货物在任何港口(任何机器环境)轻松装卸和运行。
- 性能分析定界指南
harmonyos
性能分析定界指南前置条件HarmonyOSNext系统前台运行Flutter页面分析工具DevEcoStudioProfilerSmartPerfFlutter线程介绍Flutter使用多个线程来完成其必要的工作,图层中仅展示了其中两个线程。你写的所有Dart代码都在UI线程上运行。尽管你没有直接访问其他线程的权限,但是你对UI线程的操作会对其他线程产生性能影响。平台线程平台的主线,插件代码在这里
- vue项目做导入excel(通过base64)
最近项目的需求,记录下笔记要求:1..xls后缀名文件2.文件不超过10M3.转成base64传给后端导入excel//点击导入exceluploadFile(res){letfile=res.filethis.getBase64(file).then(baseFile=>{letdata=baseFile.split(';')[1]//base64的截取,根据后端要求截取的后半截的this.sa
- vue中导入导出Excel
前端小白一枚
笔记vue导入导出Excel
以下仅个人做笔记使用:简单版导出Excel1、安装依赖:cnpminstall--savexlsxfile-savercnpmiscript-loader-S2、下载两个js文件:Blob.js和Export2Excel.js(放在最后面)3、添加导出按钮:导出数据4、添加导出事件:derive(){this.$http.post('admin/service_list',{pre_page:th
- Parse error: syntax error, unexpected end of file in
jaray
PHP
Parseerror:syntaxerror,unexpectedendoffilein上面的这个错误提示是因为在写的代码中哪个大括号没有闭合!当死活也找不出问题所在的时候,就用那超级妙用的注释吧,一段一段的找,不行就一行一行的找。
- PHP错误:Parse error: syntax error
Wss0130
PHP学习
今天在写PHP程序的时候总是出现这样的错误:Parseerror:syntaxerror,unexpectedendoffilein*.phponline*,然后我就根据提示,找到那个文件,然后错误中总是提示最后一行出错,我找到最后一行发现是,晕的,这能有什么错误,找了好久才找到问题所在,拿来分享。出现这个错误的原因就是语法错误,肯定是PHP程序的书写不规范造成,我后来一条一条看才发现,原来是PH
- 错误处理
Bainily
问题一1.Parseerror:syntaxerror,unexpectedendoffileinE:\phpstudy\phpStudy\WWW\wish\view\index.htmlonline63**解析错误:语法错误,第63行的E:\phpstudy\phpStudy\WWW\wish\view\index.html中的文件意外结束问题原因:是因为在html文件中用PHP语法是php语法
- 战神授权后台报错:Parse error: syntax error, unexpected end of file in解决办法
qq_502428990
运维传奇手游架设
问题现象分析当您在战神授权后台遇到"Parseerror:syntaxerror,unexpectedendoffile"这个错误时,说明PHP解析器在解析脚本文件时遇到了意外结束的情况。这种错误通常发生在PHP代码结构不完整时,比如缺少闭合的大括号、分号或者PHP结束标记不完整等。错误原因深度解析这个特定错误的核心原因是PHP的short_open_tag配置问题。PHP支持两种形式的开始标记:
- AWS Actions - Amazon ECS Render Task Definition
宁承榕Song-Thrush
AWSActions-AmazonECSRenderTaskDefinitionamazon-ecs-render-task-definitionInsertsacontainerimageURIintoanAmazonECStaskdefinitionJSONfile.项目地址:https://gitcode.com/gh_mirrors/am/amazon-ecs-render-task-de
- Python网安-zip文件暴力破解(仅供学习)
Whoisshutiao
python网安python开发语言网络安全
目录源码在这里需要的模块准备一个密码本和需要破解的ZIP文件一行一行地从密码文件中读取每个密码。核心部分注意,需要修改上段代码注释里的这段具有编码问题的代码:源码在这里https://github.com/Wist-fully/Attack/tree/cracker需要的模块fromtqdmimporttqdmimportzipfileimportpyzipper准备一个密码本和需要破解的ZIP文
- nt!MiFlushSectionInternal函数分析从nt!IoSynchronousPageWrite函数到Ntfs!NtfsFsdWrite函数
sitelist
nt4源代码分析MiFlushSectionNtfsFsdWrite
第一部分:while(TRUE){KeClearEvent(&IoEvent);Status=IoSynchronousPageWrite(FilePointer,Mdl,(PLARGE_INTEGER)&StartingOffset,&IoEvent,IoStatus);1:kd>pnt!MiFlushSectionInternal+0x6f6:80a72410e8c74bfbffcallnt!
- fvcom 水深文件dep制作
海洋与大气科学
数据库
fvcom水深文件dep制作fvcom水深文件dep制作20250630本次案例网格和水深展示vvimageFigure1Modeldomain本次制作其它驱动文件的输入文件为yellowsea.2dm格式2dm;文件内容格式详细介绍参考:https://www.xmswiki.com/wiki/SMS:2D_Mesh_Files_*.2dm制作方法可以参考往期教学:matlab读取shp文件做S
- python编译Edge-tts: Edge tts Player
浩读语音朗读
edge-ttspython自然语言处理edge前端
Edge-TTS是Python库,通过微软AzureCognitiveServices转化文本为自然语音,Edge-TTS支持40多种语言和300种声音,提供优质的语音输出,这给学习外语的学生和老师很大的福利。下面,尝试着用python来编写一个简单的TTS转MP3。EdgeTTSfromtkinterimport*fromtkinterimportttkfromtkinter.filedialo
- 关于旗正规则引擎下载页面需要弹窗保存到本地目录的问题
何必如此
jsp超链接文件下载窗口
生成下载页面是需要选择“录入提交页面”,生成之后默认的下载页面<a>标签超链接为:<a href="<%=root_stimage%>stimage/image.jsp?filename=<%=strfile234%>&attachname=<%=java.net.URLEncoder.encode(file234filesourc
- 【Spark九十八】Standalone Cluster Mode下的资源调度源代码分析
bit1129
cluster
在分析源代码之前,首先对Standalone Cluster Mode的资源调度有一个基本的认识:
首先,运行一个Application需要Driver进程和一组Executor进程。在Standalone Cluster Mode下,Driver和Executor都是在Master的监护下给Worker发消息创建(Driver进程和Executor进程都需要分配内存和CPU,这就需要Maste
- linux上独立安装部署spark
daizj
linux安装spark1.4部署
下面讲一下linux上安装spark,以 Standalone Mode 安装
1)首先安装JDK
下载JDK:jdk-7u79-linux-x64.tar.gz ,版本是1.7以上都行,解压 tar -zxvf jdk-7u79-linux-x64.tar.gz
然后配置 ~/.bashrc&nb
- Java 字节码之解析一
周凡杨
java字节码javap
一: Java 字节代码的组织形式
类文件 {
OxCAFEBABE ,小版本号,大版本号,常量池大小,常量池数组,访问控制标记,当前类信息,父类信息,实现的接口个数,实现的接口信息数组,域个数,域信息数组,方法个数,方法信息数组,属性个数,属性信息数组
}
&nbs
- java各种小工具代码
g21121
java
1.数组转换成List
import java.util.Arrays;
Arrays.asList(Object[] obj); 2.判断一个String型是否有值
import org.springframework.util.StringUtils;
if (StringUtils.hasText(str)) 3.判断一个List是否有值
import org.spring
- 加快FineReport报表设计的几个心得体会
老A不折腾
finereport
一、从远程服务器大批量取数进行表样设计时,最好按“列顺序”取一个“空的SQL语句”,这样可提高设计速度。否则每次设计时模板均要从远程读取数据,速度相当慢!!
二、找一个富文本编辑软件(如NOTEPAD+)编辑SQL语句,这样会很好地检查语法。有时候带参数较多检查语法复杂时,结合FineReport中生成的日志,再找一个第三方数据库访问软件(如PL/SQL)进行数据检索,可以很快定位语法错误。
- mysql linux启动与停止
墙头上一根草
如何启动/停止/重启MySQL一、启动方式1、使用 service 启动:service mysqld start2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start3、使用 safe_mysqld 启动:safe_mysqld&二、停止1、使用 service 启动:service mysqld stop2、使用 mysqld 脚本启动:/etc/inin
- Spring中事务管理浅谈
aijuans
spring事务管理
Spring中事务管理浅谈
By Tony Jiang@2012-1-20 Spring中对事务的声明式管理
拿一个XML举例
[html]
view plain
copy
print
?
<?xml version="1.0" encoding="UTF-8"?>&nb
- php中隐形字符65279(utf-8的BOM头)问题
alxw4616
php中隐形字符65279(utf-8的BOM头)问题
今天遇到一个问题. php输出JSON 前端在解析时发生问题:parsererror.
调试:
1.仔细对比字符串发现字符串拼写正确.怀疑是 非打印字符的问题.
2.逐一将字符串还原为unicode编码. 发现在字符串头的位置出现了一个 65279的非打印字符.
 
- 调用对象是否需要传递对象(初学者一定要注意这个问题)
百合不是茶
对象的传递与调用技巧
类和对象的简单的复习,在做项目的过程中有时候不知道怎样来调用类创建的对象,简单的几个类可以看清楚,一般在项目中创建十几个类往往就不知道怎么来看
为了以后能够看清楚,现在来回顾一下类和对象的创建,对象的调用和传递(前面写过一篇)
类和对象的基础概念:
JAVA中万事万物都是类 类有字段(属性),方法,嵌套类和嵌套接
- JDK1.5 AtomicLong实例
bijian1013
javathreadjava多线程AtomicLong
JDK1.5 AtomicLong实例
类 AtomicLong
可以用原子方式更新的 long 值。有关原子变量属性的描述,请参阅 java.util.concurrent.atomic 包规范。AtomicLong 可用在应用程序中(如以原子方式增加的序列号),并且不能用于替换 Long。但是,此类确实扩展了 Number,允许那些处理基于数字类的工具和实用工具进行统一访问。
 
- 自定义的RPC的Java实现
bijian1013
javarpc
网上看到纯java实现的RPC,很不错。
RPC的全名Remote Process Call,即远程过程调用。使用RPC,可以像使用本地的程序一样使用远程服务器上的程序。下面是一个简单的RPC 调用实例,从中可以看到RPC如何
- 【RPC框架Hessian一】Hessian RPC Hello World
bit1129
Hello world
什么是Hessian
The Hessian binary web service protocol makes web services usable without requiring a large framework, and without learning yet another alphabet soup of protocols. Because it is a binary p
- 【Spark九十五】Spark Shell操作Spark SQL
bit1129
shell
在Spark Shell上,通过创建HiveContext可以直接进行Hive操作
1. 操作Hive中已存在的表
[hadoop@hadoop bin]$ ./spark-shell
Spark assembly has been built with Hive, including Datanucleus jars on classpath
Welcom
- F5 往header加入客户端的ip
ronin47
when HTTP_RESPONSE {if {[HTTP::is_redirect]}{ HTTP::header replace Location [string map {:port/ /} [HTTP::header value Location]]HTTP::header replace Lo
- java-61-在数组中,数字减去它右边(注意是右边)的数字得到一个数对之差. 求所有数对之差的最大值。例如在数组{2, 4, 1, 16, 7, 5,
bylijinnan
java
思路来自:
http://zhedahht.blog.163.com/blog/static/2541117420116135376632/
写了个java版的
public class GreatestLeftRightDiff {
/**
* Q61.在数组中,数字减去它右边(注意是右边)的数字得到一个数对之差。
* 求所有数对之差的最大值。例如在数组
- mongoDB 索引
开窍的石头
mongoDB索引
在这一节中我们讲讲在mongo中如何创建索引
得到当前查询的索引信息
db.user.find(_id:12).explain();
cursor: basicCoursor 指的是没有索引
&
- [硬件和系统]迎峰度夏
comsci
系统
从这几天的气温来看,今年夏天的高温天气可能会维持在一个比较长的时间内
所以,从现在开始准备渡过炎热的夏天。。。。
每间房屋要有一个落地电风扇,一个空调(空调的功率和房间的面积有密切的关系)
坐的,躺的地方要有凉垫,床上要有凉席
电脑的机箱
- 基于ThinkPHP开发的公司官网
cuiyadll
行业系统
后端基于ThinkPHP,前端基于jQuery和BootstrapCo.MZ 企业系统
轻量级企业网站管理系统
运行环境:PHP5.3+, MySQL5.0
系统预览
系统下载:http://www.tecmz.com
预览地址:http://co.tecmz.com
各种设备自适应
响应式的网站设计能够对用户产生友好度,并且对于
- Transaction and redelivery in JMS (JMS的事务和失败消息重发机制)
darrenzhu
jms事务承认MQacknowledge
JMS Message Delivery Reliability and Acknowledgement Patterns
http://wso2.com/library/articles/2013/01/jms-message-delivery-reliability-acknowledgement-patterns/
Transaction and redelivery in
- Centos添加硬盘完全教程
dcj3sjt126com
linuxcentoshardware
Linux的硬盘识别:
sda 表示第1块SCSI硬盘
hda 表示第1块IDE硬盘
scd0 表示第1个USB光驱
一般使用“fdisk -l”命
- yii2 restful web服务路由
dcj3sjt126com
PHPyii2
路由
随着资源和控制器类准备,您可以使用URL如 http://localhost/index.php?r=user/create访问资源,类似于你可以用正常的Web应用程序做法。
在实践中,你通常要用美观的URL并采取有优势的HTTP动词。 例如,请求POST /users意味着访问user/create动作。 这可以很容易地通过配置urlManager应用程序组件来完成 如下所示
- MongoDB查询(4)——游标和分页[八]
eksliang
mongodbMongoDB游标MongoDB深分页
转载请出自出处:http://eksliang.iteye.com/blog/2177567 一、游标
数据库使用游标返回find的执行结果。客户端对游标的实现通常能够对最终结果进行有效控制,从shell中定义一个游标非常简单,就是将查询结果分配给一个变量(用var声明的变量就是局部变量),便创建了一个游标,如下所示:
> var
- Activity的四种启动模式和onNewIntent()
gundumw100
android
Android中Activity启动模式详解
在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作。在Android中Activity的启动模式决定了Activity的启动运行方式。
Android总Activity的启动模式分为四种:
Activity启动模式设置:
<acti
- 攻城狮送女友的CSS3生日蛋糕
ini
htmlWebhtml5csscss3
在线预览:http://keleyi.com/keleyi/phtml/html5/29.htm
代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>攻城狮送女友的CSS3生日蛋糕-柯乐义<
- 读源码学Servlet(1)GenericServlet 源码分析
jzinfo
tomcatWebservlet网络应用网络协议
Servlet API的核心就是javax.servlet.Servlet接口,所有的Servlet 类(抽象的或者自己写的)都必须实现这个接口。在Servlet接口中定义了5个方法,其中有3个方法是由Servlet 容器在Servlet的生命周期的不同阶段来调用的特定方法。
先看javax.servlet.servlet接口源码:
package
- JAVA进阶:VO(DTO)与PO(DAO)之间的转换
snoopy7713
javaVOHibernatepo
PO即 Persistence Object VO即 Value Object
VO和PO的主要区别在于: VO是独立的Java Object。 PO是由Hibernate纳入其实体容器(Entity Map)的对象,它代表了与数据库中某条记录对应的Hibernate实体,PO的变化在事务提交时将反应到实际数据库中。
实际上,这个VO被用作Data Transfer
- mongodb group by date 聚合查询日期 统计每天数据(信息量)
qiaolevip
每天进步一点点学习永无止境mongodb纵观千象
/* 1 */
{
"_id" : ObjectId("557ac1e2153c43c320393d9d"),
"msgType" : "text",
"sendTime" : ISODate("2015-06-12T11:26:26.000Z")
- java之18天 常用的类(一)
Luob.
MathDateSystemRuntimeRundom
System类
import java.util.Properties;
/**
* System:
* out:标准输出,默认是控制台
* in:标准输入,默认是键盘
*
* 描述系统的一些信息
* 获取系统的属性信息:Properties getProperties();
*
*
*
*/
public class Sy
- maven
wuai
maven
1、安装maven:解压缩、添加M2_HOME、添加环境变量path
2、创建maven_home文件夹,创建项目mvn_ch01,在其下面建立src、pom.xml,在src下面简历main、test、main下面建立java文件夹
3、编写类,在java文件夹下面依照类的包逐层创建文件夹,将此类放入最后一级文件夹
4、进入mvn_ch01
4.1、mvn compile ,执行后会在