- yarn Error: getaddrinfo ENOTFOUND xxx 、npm ERR! xxx postinstall: `node lib/install.js 异常解决方法
tekin
Node.js探索舱前端javascript开发语言nodeyarnnpm
在yarn安装node项目依赖时提示errorError:getaddrinfoENOTFOUNDregistry.nlark.comatGetAddrInfoReqWrap.onlookupall[asoncomplete](node:dns:118:26)详情如下:[1/6]Validatingpackage.json...[2/6]Resolvingpackages...[3/6]Fetch
- micropython 中socket中的非阻塞 报错 Error->: [Errno 119] EINPROGRESS
水可煮粥
micropython网络服务器tcp/ippython
在建立连接前设置非阻塞,会报错[Errno119]EINPROGRESSsock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)addr=socket.getaddrinfo(host,port)[0][-1]sock.setblocking(False)#非阻塞sock.connect(addr)改成先连接,后设置,即可sock=socket.s
- 网络地址adderss相关操作
十字星的约定_
Linuxc++网络linux服务器c++
网络地址adderss文章目录网络地址adderssgetsocknamegetpeernamegethostbynamegethostbyaddrgetservbynamegetservbyportgetaddrinfofreeaddrinfogai_strerrorgetnameinfohost_servgetifaddrsinet_ptonBerkeley套接字接口拟定了一个通用套接字地址结
- npm ERR! code ENOTFOUND npm ERR! syscall getaddrinfonpm ERR! errno ENOTFOUND报错问题
温岚311
npxmy-appnpm前端node.js
npmERR!codeENOTFOUNDnpmERR!syscallgetaddrinfonpmERR!errnoENOTFOUNDnpmERR!networkrequesttohttp://registry.cnpmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgzfailed,reason:getaddrinfoENOTFOUNDregistry.cn
- npm ERR! errno ETIMEDOUTnpm ERR! network request to https://registry
66美炸了
npm前端node.js
在命令行安装东西npmi--save-dev@types/node报错npmERR!codeETIMEDOUTnpmERR!errnoETIMEDOUTnpmERR!networkrequesttohttps://registry.npmjs.org/npmfailed,reason:getaddrinfoENOTFOUNDregistry.npmjs.orgnpmERR!networkThisi
- 【ESP32+Python】连接WebSocket服务例子
淡忘_cx
ESP32+Pythonpythonwebsocket开发语言
importujsonimportusocketimportubinascii#配置WebSocket地址和端口SERVER=""#域名根据实际情况可能需要修改PORT=80#端口根据实际情况可能需要修改PATH=""#域名后路径根据实际情况可能需要修改#函数:创建WebSocket连接defcreate_connection():addr_info=usocket.getaddrinfo(SER
- 更新node版本
solumatephper
一:确认是否需要更换镜像执行sudonpminstall-gn,如果报错:requesttohttp://registry.cnpmjs.org/npmfailed,reason:getaddrinfoENOTFOUNDregistry.cnpmjs.org,说明是镜像有问题,那就切换镜像:配置淘宝镜像:npmconfigsetregistryhttps://registry.npm.taobao
- npm或者pnpm或者yarn安装依赖报错ENOTFOUND解决办法
1024小神
HTML前端npm前端node.js
如果报错说安装依赖报错,大概率是因为npm源没有设置对,比如我这里安装protobufjs的时候报错:ENOTFOUNDnpmERR!codeENOTFOUNDnpmERR!syscallgetaddrinfonpmERR!errnoENOTFOUNDnpmERR!networkrequesttohttps://registry.cnpmjs.org/protobufjs-clifailed,re
- 淘宝镜像请求失败解决方法:request to https://registry.npm.taobao.org/vue-loader failed
_揽
前端学习笔记前端javascriptvue.jsreact.js开发语言
npminstall报错:requesttohttps://registry.npm.taobao.org/vue-loaderfailed,reason:getaddrinfoENOTFOUNDregistry.npm.taobao.org解决:https://jingyan.baidu.com/article/acf728fd99b16ff8e510a301.html查看镜像源:npmgetr
- 一起talk C栗子吧(第一百五十四回:C语言实例--socket通信地址系统调用二)
talk_8
一起TalkC栗子吧getaddr套接字地址信息
各位看官们,大家好,上一回中咱们说的是socket通信地址系统调用的例子,这一回咱们继续说该例子。闲话休提,言归正转。让我们一起talkC栗子吧!看官们,我们在上一回介绍的通信地址系统调用有效地解决了数据存储方式的问题,不过,还有一个系统调用也可以解决这种问题,这一回我们将介绍该系统调用:getaddrinfo。函数原型该系统调用从其名字上看是用来获取地址的信息,这里的地址主要指套接字通信地址。它
- npm i 碰到的错误 : reason: getaddrinfo ENOTFOUND registry.npm.taobao.org1
梁什么鸭,
nodenpmnpm
NpmconfigdeleteproxyNpmconfigdeletehttps-proxy执行以上两行代码即可正常下载
- PHP服务报错500的排查过程
杰哥的技术杂货铺
Linuxphplnmpopen_basedirPHP500报错PHP开启报错日志
文章目录一、开启php服务报错日志二、php报错is_dir():open_basedirrestrictionineffect.File(.log)isnotwithintheallowedpath(s)三、php_network_getaddressesgetaddrinfofailedredis报错解决架构是简单的单机nginx+php,没有并发量,收到500错误,一定是后端服务php的问题
- [IPv6] getaddrinfo()获取本机IPv4和IPv6地址
zlllc
网络编程网络tcp/ipwindows
前言getaddrinfo()可以方便的获取IPv6和IPv4地址。记录一下,如何用getaddrinfo()获取本机的IPv6和IPv4地址。参考getaddrinfo函数(ws2tcpip.h)getaddrinfo()函数详解代码↓获取本机hostname环境:VirtualStudio2022#include#include#include#pragmacomment(lib,"ws2_3
- [网络编程] 应该使用getaddrinfo()来代替gethostbyname()
zlllc
网络编程网络windowslinuxc++
前言在网络编程中,有时需要通过域名或者主机名来获取IP地址。以为通常使用gethostbyname()API。但是今天碰到了一个BUG,使我觉得应该在有这种需求的时候,使用getaddrinfo()而不是gethostbyname()。BUG描述我在ubuntu虚拟机中,通过gethostbyname(),传入参数为主机名,想要获取主机的IP地址。gethostbyname()返回的structh
- ReactNative进阶(五十三)ios组包报错getaddrinfo ENOTFOUND static.realm.io问题修复
No Silver Bullet
#ReactNativereactnativeiosreact.js
文章目录一、前言二、问题分析三、解决方案四、拓展阅读一、前言在jenkins进行iOS组包过程中,控制台报如下错误:FetchError:requesttohttps://static.realm.io/downloads/sync/realm-sync-cocoa-4.7.3.tar.gzfailed,reason:getaddrinfoENOTFOUNDstatic.realm.ioatCli
- Linux C语言实现DNS请求
ghoti-
LINUXC/C++网络协议网络协议c语言ubuntulinux
实际应用中基本用不到DNS自己解析要获取域名在终端下用host或者nslookup指令在c里面使用gethostbyname或者getaddrinfo也能将域名解析为ip如果不想看文章就用上面的函数。文章目录一、DNS解析过程二、DNS协议报文格式1Header(12字节)1.1TransactionID(会话标识)(2字节)1.2Flags(标志)(2字节)1.3数量字段(总共8字节)2正文(字
- git 报错fatal: unable to access ‘https://gitee.com/xxx‘ getaddrinfo() thread failed to start解决。
qyhua
git
一问题:在gitclonehttps://gitee.com/xxx/xxx.git报错:Cloninginto'xxx'...fatal:unabletoaccess'https://gitee.com/xxx/xxx.git/':getaddrinfo()threadfailedtostart如图:在上图gitbashping不通,而cmd是正常的,说明是环境。二解决解决方式一:直接更换环境,
- VUE Error: getaddrinfo ENOTFOUND localhost
爱红旗渠
Jins-MBP:helloworldXXX$npmrundev>
[email protected]/Users/XXX/Documents/develop/front/helloworld>webpack-dev-server--inline--progress--configbuild/webpack.dev.conf.js10%buildingmodules2/4modules2acti
- Ubuntu 解决因 DNS Server 配置问题导致的网站无法访问 Resolving ... failed: No address associated with hostname.
Haulyn5
ubuntulinux运维
前言最近尝试在一台远程服务器上使用Copilot,结果提示报错无法连接Github。[ERROR][default][2023-06-28T02:25:41.892Z]GitHubCopilotcouldnotconnecttoserver.Extensionactivationfailed:"getaddrinfoEAI_AGAINapi.github.com"第一直觉是本来就无法访问,但是测试
- 【关于npm install报错信息排查-npm WARN registry Unexpected warning for https://registry.npmmirror.com/: 】
PaoShan
npm前端node.js
关于npminstall报错信息排查以下是我的报错信息:npmWARNregistryUnexpectedwarningforhttps://registry.npmmirror.com/:MiscellaneousWarningEAI_AGAIN:requesttohttps://registry.npmmirror.com/chalkfailed,reason:getaddrinfoEAI_A
- 导入seaborn的数据集方法load_datasets的问题
小肖学数据分析
Python错误日志pythonseaborn
sns.load_dataset使用报错解决URLError:<urlopenerror[Errno11004]getaddrinfofailed>(windows))importseabornassnsimportmatplotlib.pyplotasplt#使用Seaborn自带的数据集tips=sns.load_dataset('tips')#绘制柱状图sns.barplot(x='da
- getaddrinfo ENOTFOUND XXX
蓦然回味
报错出现的情况:在gitclone项目之后,npminstall之后,在本地执行npmrunstart就开始报错,想着是自己没安装好,又重新安装了下依然报错。然后网上查了下资料,说是没有localhost,但这个项目直接用的是域名,想着能用域名肯定是之前可以运行,介于是开发环境,就将host中的域名改为localhost后,再次运行便可以了。image.png
- grpc负载均衡RoundRobin源码解读
liyunlong41
Golang学习源码grpc负载均衡roundRobinbalancer源码
grpcclient端创建连接时可以用WithBalancer来指定负载均衡组件,这里研究下grpc自带的RoundRobin(轮询调度)的实现。源码在google.golang.org/grpc/balancer.go中。roundRobin结构体定义如下:typeroundRobinstruct{rnaming.Resolverwnaming.Watcheraddrs[]*addrInfo//
- Haproxy一个端口跑多个服务
Henry_Wu001
haproxyMakeLifeEasy架构分布式
我们选择haproxy1.8版本以上的,编译安装到路径/export/servers/haproxymakeTARGET=linux2628PREFIX=/export/servers/haproxyUSE_GETADDRINFO=1USE_ZLIB=1USE_REGPARM=1USE_OPENSSL=1\USE_SYSTEMD=1USE_PCRE=1USE_PCRE_JIT=1USE_NS=1m
- jupyter notebook中执行nltk.download()报错:getaddrinfofailed
wchwdog13
技术问题解决环境搭建方法jupyterpythonide人工智能
nltk(NaturalLanguageToolkit)为自然语言处理工具包,在nlt领域中,十分常使用的一个Python库。在jupyternotebook引入相关库,如下:然后执行如下指令时,报了如下错误原因是因为无法进入截图中的ServerIndex这个地址导致,需要手动从其他地址下载nltk_data包并解压到图片中相应的目录中即可。
- getaddrinfo EAI_AGAIN 错误的一个可能原因
gunpowderfans
Linuxnodejavascriptnode.jsjavascriptlinuxopensuse
Linux系统,刚装好没多久,运行Node.js程序倒是看起来没啥问题,只是浏览器上打不开对应地址,然后过一会程序报错退出:Error:getaddrinfoEAI_AGAINlocalhost.localdomain查了一下是因为DNS问题,但我这只是在自己机器上跑着玩,肯定跟域名什么的没有关系。想了很久才明白是因为这个系统没有主机名,所以只要给系统加上主机名,就OK了。系统安装的时候不设主机名
- Unix Network Programming Episode 80
duxingzhe103
UnixNetworkProgrammingunix网络tcp/ip
‘tcp_connect’FunctionWewillnowwritetwofunctionsthatusegetaddrinfotohandlemostscenariosfortheTCPclientsandserversthatwewrite.Thefirstfunction,tcp_connect,performsthenormalclientsteps:createaTCPsocketan
- Libuv库概述
zhu2695
C++框架&开源库Libuv
From:http://blog.chinaunix.net/uid-28458801-id-4464173.htmllibuv是Node的新跨平台抽象层,用于抽象Windows的IOCP及Unix的libev。作者打算在这个库的包含所有平台的差异性。特性:非阻塞TCP套接字非阻塞命名管道UDP定时器子进程生成通过uv_getaddrinfo实现异步DNS异步文件系统API:uv_fs_*高分辨率
- yapi通过docker-compose安装遇到的问题
大托尔
yapidocker
docker无法访问外部网络https://www.jianshu.com/p/f3ce460625fbiptables:Nochain/target/matchbythatnameservicedockerrestartgetaddrinfoEAI_AGAINregistry.npmjs.orgdocker内网络不通,默认docker通过桥接模式连接到宿主机,参考问题1进行解决dockerlog
- 运行 `npm install` 时的常见问题与解决方案
wakangda
前端开发工具npm前端node.js
运行npminstall时的常见问题与解决方案问题一:网络连接问题描述:运行npminstall时,可能会遇到网络连接问题,导致无法正常下载依赖包。报错示例:npmERR!networkconnectiontimedoutnpmERR!connectETIMEDOUTnpmERR!getaddrinfoEAI_AGAIN解决方案:确保你的计算机已连接到互联网。可以尝试打开浏览器,访问其他网页来确认
- 关于旗正规则引擎下载页面需要弹窗保存到本地目录的问题
何必如此
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 ,执行后会在