-
Maven打包时没有编译Java文件
今天发现有个奇怪的事情,有一个项目打包后发现里面的代码是很久以前的旧版本。开始以为是电脑问题,后来换了一个电脑打包结果一样。后来仔细看了看打包的日志里面有一句:```Copyingwebappresources[E:\workspace\acgist_www\src\main\webapp]```去到这个目录的`WEB-INF`目录下面,发现提交代码的时候把`classes`目录提交上去了,所以打包时覆盖了新编译的`classes`目录。
Maven Java -
阿里云组播代理安装
因为项目中需要用到组播,但是阿里云默认不支持组播,需要安装组播代理:[https://help.aliyun.com/document_detail/73698.html](https://help.aliyun.com/document_detail/73698.html),我这里使用的是Linux内核态组播工具。首先是阿里云提供的安装`kernel-devel`的命令可能不能正确安装,我们需要执行下列命令:```bashyuminstallkernel-devel```按照阿里云提供的命令编译`rpm`的时候发现出现了一个问题:```make-Ckmodmake[1]:Enteringdirectory`/home/multi/multicast_proxy-master/multicast_kernel/rpmbuild_multicast/BUILD/multi_server-1.1/kmod'make-C/lib/modules/`uname-r`/buildM=/home/multi/multicast_proxy-master/multicast_kernel/rpmbuild_multicas...
阿里云 组播 -
HTTPS请求异常
今天使用自己写的HTTP工具发现访问`https://www.acgist.com`时,提示:```Exceptioninthread"main"java.net.SocketException:Connectionresetatjava.net.SocketInputStream.read(SocketInputStream.java:196)atjava.net.SocketInputStream.read(SocketInputStream.java:122)atsun.security.ssl.InputRecord.readFully(InputRecord.java:442)atsun.security.ssl.InputRecord.read(InputRecord.java:480)atsun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:934)atsun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1332)atsun.secu...
HTTPS SSL TLS -
Eclipse快捷键
熟练使用一款软件的快捷键,可以加快效率。特别是开发工具和浏览器,当然打游戏也是一样🙈这里介绍一下Eclipse的常用快捷键,非常使用:【F12】:激活编辑器【Alt+/】:代码补全【Ctrl+/】:注释当前行【Ctrl+Alt+/】:注释多行,可以用于XML、HTML、JSP等【Ctrl+.】:快速定位错误/比较视图下一个【Ctrl+,】:比较视图上一个【Ctrl+1】:快速修正,常用于异常处理【Ctrl+H】:搜索【Ctrl+T】:快速显示当前类的继承结构【Ctrl+E】:显示当前编辑文件列表【Ctrl+O】:打开Outline【Ctrl+Q】:定位到最后编辑位置【Ctrl+W】:关闭当前视图【Ctrl+D】:删除当前行【Ctrl+L】:定位到文件指定行,异常定位【Ctrl+M】:最大化当前选择视图【Ctrl+Shift+O】:导入引用【Ctrl+Shift+F】:格式化代码【Ctrl+Shift+D】:DEBUG显示变量【Ctrl+Shift+B】:当前行设置/取消断点【Ctrl+R】:DEBUG运行到当前行【Ctrl+PageUP/PageDown】:编辑器切换编辑文本【Ctrl+K】:快速定位下一个...
Eclipse 快捷键 -
jenkins部署时Maven编译失败
编译失败信息如下:```[ERROR]Failedtoexecutegoalonprojectacgist:Couldnotresolvedependenciesforprojectcom.acgist:acgist:war:1.0.0:Thefollowingartifactscouldnotberesolved:xxxxinhttps://repo.maven.apache.org/maven2wascachedinthelocalrepository,resolutionwillnotbereattempteduntiltheupdateintervalofcentralhaselapsedorupdatesareforced->[Help1][ERROR][ERROR]Toseethefullstacktraceoftheerrors,re-runMavenwiththe-eswitch.[ERROR]Re-runMavenusingthe-Xswitchtoenablefulldebuglogging.[ERROR][ERROR]Formoreinformationabouttheerrors...
jenkins Maven -
openjdk配置JAVA_HOME
今天安装Maven,发现提示:```TheJAVA_HOMEenvironmentvariableisnotdefinedcorrectlyThisenvironmentvariableisneededtorunthisprogramNB:JAVA_HOMEshouldpointtoaJDKnotaJRE[root@oracleapache-maven-3.5.4]#echo$JAVA_HOME/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64```原来安装java-1.8.0-openjdk.x86_64,这个只是运行环境,开发环境需要安装java-1.8.0-openjdk-devel.x86_64,这个才包含`JAVA_HOME/bin`目录。
openjdk JAVA_HOME -
Linux安装vnstat监控流量
vnstat主要用来流量统计的,如果使用`yum`安装是最方便的,什么都不用管。如果源里面没有这个安装包,那么就需要我们自己编译安装。下载地址:[https://humdi.net/vnstat/](https://humdi.net/vnstat/)安装命令:```bash#解压tarzxvfvnstat-1.18.tar.gz#编译安装./configuremakemakeinstall#添加服务cpexamples/init.d/centos/vnstat/etc/rc.d/init.d/#启动服务servicevnstatstart#开机启动chkconfigvnstaton#查看状态servicevnstatstatus#设置监控网卡vnstat-u-ieth0#查看信息vnstat-dvnstat-mvnstat-d-ieth0```其实最重要的就是添加服务,脚本一般都在`vnstat-1.18/examples`这个目录下面,添加到对应的目录下面就可以了。>注意CentOS7的服务添加:```bash#添加服务cpexamples/systemd/vnstat.service/usr/li...
vnstat Linux 流量监控 -
Linux MySQL安装
相比之前的Oracle,MySQL就简单多了。##准备:###创建用户:```bashgroupaddmysqluseradd-gmysqlmysql```###创建MySQL目录:```bash#主目录mkdir/usr/local/mysql#数据目录mkdir/usr/local/mysql/data```###下载安装包:[https://dev.mysql.com/downloads/mysql/5.6.html#downloads](https://dev.mysql.com/downloads/mysql/5.6.html#downloads)选择如下图,选择Linux通用版本:下载解压到`/usr/local/mysql`目录下,MySQL安装目录`/usr/local/mysql/mysql-5.6.40-linux-glibc2.12-x86_64`然后授权:```bashchown-Rmysql:mysql/usr/lo...
数据库 Linux MySQL -
Linux安装Oracle 11g
一开始网上找的静默安装搞不定,最后还是用vnc用图形界面装完的。演示使用的Linux发行版是CentOS7。##准备:###安装依赖包:查看安装状态:```bashrpm-qbinutilscompat-libstdc++-33compat-libstdc++-33.i686elfutils-libelfelfutils-libelf-develgccgcc-c++glibcglibc.i686glibc-commonglibc-develglibc-devel.i686glibc-headerskshlibaiolibaio.i686libaio-devellibaio-devel.i686libgcclibgcc.i686libstdc++libstdc++.i686libstdc++-develmakesysstatunixODBCunixODBC.i686unixODBC-devel```全部安装:```bashyuminstallbinutilscompat-libstdc++-33compat-libstdc++-33.i686elfutils-libelfelfutils-libelf-deve...
Linux Oracle Oracle 11g -
Java利用opencv实现人脸识别
opencv下载地址:[https://opencv.org/releases.html](https://opencv.org/releases.html)下载后安装,找到安装目录下:`/opencv/build/java/`,这个目录下面存放的就是Java的jar和所需要的dll。然后还需要探测器:`/opencv/build/etc/`,这个目录下面的xml配置文件。下面是代码:```javapackagecom.acgist.face;importjava.awt.image.BufferedImage;importjava.awt.image.DataBufferByte;importjava.io.IOException;importjava.io.InputStream;importjava.net.URISyntaxException;importjavax.imageio.ImageIO;importorg.opencv.core.CvType;importorg.opencv.core.Mat;importorg.opencv.core.MatOfRect;importorg.opencv...
人脸识别 opencv -
微信web开发者工具错误
小程序错误:WXSS编译错误解决办法:在控制台输入`openVendor()`,删除`wcsc.exe`,然后重启工具。>参考文章:[https://blog.csdn.net/lklmr/article/details/78498822](https://blog.csdn.net/lklmr/article/details/78498822)
小程序 微信web开发者工具 -
Spring利器-STS
君欲善其事,必先利其器。STS就是Spring开发的一个利器,不仅仅SpringBoot和SpringCloud实用,Spring普通项目也很实用。常用的一些功能提示、SpringBoot项目初始化、xml配置的命名空间、yaml编辑器、配置文件智能提示等。特别是SpringBoot的配置提示非常好用。使用:1.可以下载官方集成了STS的Eclipse开发工具:[https://spring.io/tools/sts/](https://spring.io/tools/sts/)2.直接使用插件集成到已有的Eclipse里面:[https://spring.io/tools/sts/all](https://spring.io/tools/sts/all)当然也可以通过Eclipse的Market搜索进行安装。
STS Spring Spring Cloud Spring Boot -
Spring Cloud Config配置中心异常整理
配置中心出现一下错误:```2018-04-2812:00:38.812WARN4468---[main]com.netflix.discovery.DiscoveryClient:Usingdefaultbackupregistryimplementationwhichdoesnotdoanything.2018-04-2812:00:38.816INFO4468---[main]com.netflix.discovery.DiscoveryClient:NotregisteringwithEurekaserverperconfiguration2018-04-2812:00:38.823INFO4468---[main]com.netflix.discovery.DiscoveryClient:DiscoveryClientinitializedattimestamp1524888038821withinitialinstancescount:02018-04-2812:00:38.943WARN4468---[main]lientConfigServiceBootstrapConfiguration:C...
Cpring Cloud Config 配置中心 -
Zuul统一异常处理
今天研究了一下Zuul,看书上的例子,最后发现异常处理的和书上的并不一样。书上使用的是`1.x`,我做的时候用的最新的`2.x`的版本。这里也做一下记录。首先是`SendErrorFilter`这个类,现在`filterType`已经是`error`的了:```java@OverridepublicStringfilterType(){returnERROR_TYPE;}```所以,现在异常都会到这个`filter`里面,而这个`filter`里面最后直接是`forward`到了`/error`这个链接上面。所以这里就出现了一个很奇怪的现象,如果进入到Zuul的`filter`链里面来后,在`SendErrorFilter`之前发生了异常,那么我们会发现请求数据已返回后,会再次进入到我们自定义的`post`的`filter`里面。下面就是`SendErrorFilter`里面的处理:```javaRequestDispatcherdispatcher=request.getRequestDispatcher(this.errorPath);if(dispatcher!=null){ctx.set(SEND_E...
Zuul Spring Cloud -
Spring Boot静态资源不能访问问题
之前做了一个demo,当时并没有注意,后来发现静态资源不能访问了。SpringBoot自动配置了`classpath:/static/`下面的资源为静态资源,后来网上找了很多的方法都试过了,解决不了。于是我重新写了一个项目,把这个旧项目的配置一个一个的移动过去,最后发现是我配置的拦截器的问题。因为我配置拦截器继承的类是:`WebMvcConfigurationSupport`这个类,它会让SpringBoot的自动配置失效。👿怎么解决呢?*继承`WebMvcConfigurerAdapter`,当然如果使用`Java8+`,那么`WebMvcConfigurerAdapter`这个类以及过时了,可以直接实现`WebMvcConfigurer`接口,然后重写`addInterceptors`来添加拦截器:```java@ConfigurationpublicclassInterceptorConfigimplementsWebMvcConfigurer{@OverridepublicvoidaddInterceptors(InterceptorRegistryregistry){registry.addInt...
Spring Boot 静态资源 WebMvcConfigurationSupport EnableWebMvc -
Chrome非安全端口
今天测试开了一个`6666`端口的服务,发现`Chrome`浏览器一直无法访问,提示:```无法访问此网站网址为http://localhost:6666/的网页可能暂时无法连接,或者它已永久性地移动到了新网址。ERR_UNSAFE_PORT```控制台:```RequestURL:http://www.acgist.com:6666/ReferrerPolicy:no-referrer-when-downgradeProvisionalheadersareshownUpgrade-Insecure-Requests:1User-Agent:Mozilla/5.0(WindowsNT6.1;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/65.0.3325.146Safari/537.36X-DevTools-Emulate-Network-Conditions-Client-Id:8556438C2AB21D3F7DD6045E8CE4FD74```一开始我一直以为是`CpringCloudZuul`的配置错了,排查了很久,最后我换了一个端口发现可以了...
Chrome 6666 -
feign异常整理
```ErrorstartingApplicationContext.Todisplaytheconditionsreportre-runyourapplicationwith'debug'enabled.2018-04-2510:26:07.335ERROR9924---[main]o.s.b.d.LoggingFailureAnalysisReporter:***************************APPLICATIONFAILEDTOSTART***************************Description:FielduserServiceincom.acgist.controller.UserControllerrequiredabeanoftype'com.acgist.service.IUserService'thatcouldnotbefound.Action:Considerdefiningabeanoftype'com.acgist.service.IUserService'inyourconfiguration.```启动上面的异常或者直接进入到`fallback`...
feign Spring Cloud -
推荐书籍
整理一些可以多次品位的书籍。即使在网上看些文章零散的学习,还是不如直接读书进行系统的学习。平时除了读一些工作相关书籍提升职业技能,还要多看看经济学、心理学、社会学的书籍提升自己,当然也少不了国学。经济学、心理学、社会学可以帮助我了解人与人、人与社会的关系以及怎么处理好这些关系。国学不仅可以让我了解历史,还可以看到华丽的辞藻,美丽的诗句,还有很多有趣的小故事。最重要的是让我知道需要成为什么样的人,怎么成为这样的人。悟性高的人也可以从中领悟很多心理学、经济学和社会学问题。其实读古人的书很多时候也是因为我们和古圣先贤也有一样的境遇。借鉴他们的事迹,吸取他们的教训,我们可以更好的完善自己。让我们在历史的长河里面不至于孤独,与古人行幸甚至哉。##人生格局数学史**影响力**时间简史解读基金**人性的弱点**社会心理学经济学原理财务自由之路股票作手回忆录指数基金投资指南>心理学、经济学、社会学##技术Redis实战**高性能MySQL****代码整洁之道****架构整洁之道**设计模式之禅**Java编程思想****HTTP权威指南****Netty权威指南**Neo4j权威指南Kafka权威指南程序员修炼之道JU...
推荐 书籍 -
Java8+时间格式化错误
```Exceptioninthread"main"java.time.temporal.UnsupportedTemporalTypeException:Unsupportedfield:HourOfDayatjava.base/java.time.LocalDate.get0(LocalDate.java:708)atjava.base/java.time.LocalDate.getLong(LocalDate.java:687)atjava.base/java.time.format.DateTimePrintContext.getValue(DateTimePrintContext.java:308)atjava.base/java.time.format.DateTimeFormatterBuilder$NumberPrinterParser.format(DateTimeFormatterBuilder.java:2691)atjava.base/java.time.format.DateTimeFormatterBuilder$CompositePrinterParser.format(Date...
Java8 时间格式化 LocalDate LocalDateTime DateTimeFormatter -
Spring AOP错误
```ErroroccuredprocessingXML'com/acgist/module/aop/admin/AdminSignhasbeencompiledbyamorerecentversionoftheJavaRuntime(classfileversion54.0),thisversionoftheJavaRuntimeonlyrecognizesclassfileversionsupto52.0'.SeeErrorLogformoredetails```升级了最新的Java10,然后`aspectjweaver`和`aspectjrt`都升级到了`1.9.0`,但是还是提示上面的错误,感觉很纳闷。项目的JDK也设置成了JDK10,怎么还是有这个错误。最后发现原来是Eclipse启动的JDK还是`1.8`的问题导致的。修改Eclipse的配置`eclipse.ini`如下:```-startupplugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar--launcher.libraryplugins/org.eclipse.equi...
Spring AOP