Maven PKIX path building failed

使用maven编辑,下载包时报PKIX path building failed错误

在maven设置中加入参数

-Dmaven.multiModuleProjectDirectory=$MAVEN_HOME
-Dmaven.wagon.http.ssl.insecure=true
-Dmaven.wagon.http.ssl.allowall=true
-Dmaven.wagon.http.ssl.ignore.validity.dates=true

再执行编译,正常下载依懒jar

参考:

https://blog.csdn.net/jsp_will/article/details/87951082

https://stackoverflow.com/questions/23904298/pkix-path-building-failed

VMware安装Android x86

使用VMware安装Android x86,方法和安装Windows或Linux大同小异,主要注意几个地方:

1.更改磁盘控制器为IDE

这是Android x86官方说明:

用VMware创建的磁盘默认是SCSI,删除默认磁盘,自己创建。

2.安装系统时,创建分区,会提示是否使GPT分区表。先择NO,使用MBR分区表。

3.创建分区时要标记系统分区是引导分区

操作完成后记得“Write”保存。

系统安装完成后发现无法进入系统,提示:detecting android-x86 found at /dev/sda1

记得安装以前的镜像没这个问题,现在安装的是android-x86_64-8.1-r2。最后是修改grub引导解决。

继续阅读“VMware安装Android x86”

被父母高估的孩子更易自恋

很多父母都强调培养孩子的自尊心,于是他们直觉式的去夸奖孩子,告诉孩子“你是最棒的”、“你是最特别的”,以期能够增强孩子的自尊心。然而,夸奖可能并不是代表着爱,而是对孩子一种膨胀式的评估和信念,儿童会内化这些信念,认为自己是特别的并且应该得到特殊对待,这反而会提高孩子的自恋水平而不是自尊水平。近期,发表在《美国科学院院刊》(PNAS)上的一项纵向研究[1]验证了这个观点,表明父母对孩子的过高评估会让儿童更容易变得自恋。

自尊VS自恋

自尊跟自恋虽然有些地方比较相似,容易让人误解,但是它们本质上是不同的。自恋者认为自己优于其他人,执迷于个人成就,并且相信自己应该受到特殊对待。自尊的个体认为自己是有价值的、重要的,因而接纳自己、喜欢自己。简单来说,自恋的人是“我比你好,所以我是有价值的”,而自尊的人是“我本身就是有价值的、重要的”。

自恋者都带着对自己不切实际的认识,认为自己是优于其他人的并且理所当然应该获得成功,对自己的期望可能会不切实际,当遭到否认或者失败的时候,他们可能会暴怒,陷入对自己的怀疑之中。而对自尊的人来说,挫折不会动摇他们的自我,因为从父母和其他人对自己的接纳种所获得的这种肯定是没有附加条件的。

被父母高估的孩子更易自恋

这个研究分四次施测,每次施测间隔六个月。565个(其中54%是女孩)和他们的父母参加了这项研究,其中母亲415人,父亲290人。在第一次测量时,儿童年龄在7-11岁,选取这个年龄段是因为儿童在这个时期首次出现自恋水平的差异。研究施测四次,每次分别测量五个指标:

继续阅读“被父母高估的孩子更易自恋”

查看MySQL表字段信息

做完表设计后需制作说明文档。我使用MySQL官方客户端MySQL Workbench建模,该工具不支持把字段信息导出文档,只能生成可执行SQL建库建表。

用客户端建表时字段说明,策略都做好了的,重新再写一次太麻烦,所以想着提取这些信息导出文本。

MySQL中常用查看数据库信息的方法:

# 查看当前用户所有楼据库
show databases;
# 查看当前数据库中所有表
show tables;
# 看数表中所有字段信息
desc 表名

使用desc查看字段,并没有显示建库建表的COMMENT备注,字段信息不能完全符合要做的文档。其实可以在information_schema中查找提取信息。

继续阅读“查看MySQL表字段信息”

批处理文件中的 %~d0

批处理,%~d0 cd %~dp0 代表什么意思?

~dp0 “d”为Drive的缩写,即为驱动器,磁盘、“p”为Path缩写,即为路径,目录。语法选项:

~0         - 删除任何引号("),扩充 %0
%~f0        - 将 %0 扩充到一个完全合格的路径名(“f”是file,即文件)
%~d0        - 仅将 %0 扩充到一个驱动器号
%~p0        - 仅将 %0 扩充到一个路径
%~n0        - 仅将 %0 扩充到一个文件名(“n”是name 文件名)
%~x0        - 仅将 %0 扩充到一个文件扩展名
%~s0        - 扩充的路径只含有短名(“s”为Short,短的)
%~a0        - 将 %0 扩充到文件的文件属性(“a”为attribute,即属性)
%~t0        - 将 %0 扩充到文件的日期/时间(“t”time)
%~z0        - 将 %0 扩充到文件的大小(Size 大小)
%~PATH:0    −查找列在路径环境变量的目录,并将PATH:0 - 查找列在路径环境变量的目录,并将 %I 扩充
              到找到的第一个驱动器号和路径。
%~ftza0     - 将 %0 扩充到类似输出线路的 DIR

%0为当前批处理文件,如果0换成1为第一个文件,2为第2个

继续阅读“批处理文件中的 %~d0”

Windows批处理命令之Start

在Windows下执行批处理脚本会打开一个黑乎乎的控制台窗口,任务未执行完成时窗口不会关闭。

编写一个打开软件的脚本,软件未退出时,启动bat脚本的窗口不会被关闭。使用start命令启动,可以实现命令窗口自动关闭。start命令说明:

bat脚本如下:

@echo off

set CURRENT_DIR=%cd%

start "google-chrome" "%CURRENT_DIR%\chrome" --user-data-dir="%CURRENT_DIR%\UserData\qizheng@myid01.com"

保存为Chrome.bat

windows执行bat脚本,都会打开命令窗口,即使自动退出,也会有个黑框一闪而过。使用vbs脚本执行脚本可以隐藏控制台。如下:

set ws=WScript.CreateObject("WScript.Shell") 
ws.Run ".\Chrome.bat",0

保存为vbs,双击可执行。

在这里应该看得出来了,我写的脚本是打开Chrome浏览器,并指定用户数据目录。

常用Maven插件配置

自己项目中常用的编译打包插件配置,MARK一下,后续新项目直接copy就好。

项目编译

<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-compiler-plugin</artifactId>
	<configuration>
		<source>1.8</source>
		<target>1.8</target>
		<encoding>UTF-8</encoding>
	</configuration>
</plugin>

项目打包JAR

<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-jar-plugin</artifactId>
	<configuration>
		<!--不打包资源文件-->
		<excludes>
			<exclude>*.**</exclude>
			<exclude>*/*.xml</exclude>
		</excludes>
		<archive>
			<manifest>
				<addClasspath>true</addClasspath>
				<!--MANIFEST.MF 中 Class-Path 加入前缀-->
				<classpathPrefix>lib/</classpathPrefix>
				<!--jar包不包含唯一版本标识-->
				<useUniqueVersions>false</useUniqueVersions>
				<!--指定入口类-->
				<mainClass>cn.payadd.merchant2.MerchantApplication</mainClass>
			</manifest>
			<manifestEntries>
				<!--MANIFEST.MF 中 Class-Path 加入资源文件目录-->
				<Class-Path>./resources/</Class-Path>
			</manifestEntries>
		</archive>
		<outputDirectory>${project.build.directory}</outputDirectory>
	</configuration>
</plugin>
继续阅读“常用Maven插件配置”

Spring启动Could not resolve placeholder

除去properties文件路径错误、拼写错误外,出现”Could not resolve placeholder”很有可能是使用了多个PropertyPlaceholderConfigurer或者多个<context:property-placeholder>的原因。 一定要记住,不管是在一个Spring文件还是在多个Spring文件被统一load的情况下,直接写:

<context:property-placeholder location=""/>
<context:property-placeholder location=""/>

是错误的!

继续阅读“Spring启动Could not resolve placeholder”

Mybatis Generator 不识别主键

错误场景描述:

在使用mybatis-Generator生成xml时,不生成Example,在<table>标签中添加enableCountByExample=”false”
enableDeleteByExample=”false”
enableSelectByExample=”false”
enableUpdateByExample=”false”

在生成xml文件时,应该有insert、insertSelective、selectByPrimaryKey、updateByPrimaryKeySelective、updateByPrimaryKey、deleteByPrimaryKey等方法,但是在生成的xml文件中只有insert、insertSelective。后来看xml文件中的resultMap节点里主键id使用的是result标签,而不是id标签。可能是主键没有被识别。

继续阅读“Mybatis Generator 不识别主键”

Quartz定时任务Cron表达式

cron表达式用于配置cronTrigger的实例。cron表达式实际上是由七个子表达式组成。这些表达式之间用空格分隔。

1.Seconds (秒)
2.Minutes(分)
3.Hours(小时)
4.Day-of-Month  (天)
5.Month(月)
6.Day-of-Week (周)
7.Year(年)

例:”0 0 12 ? * WED” 意思是:每个星期三的中午12点执行。

个别子表达式可以包含范围或者列表。例如:上面例子中的WED可以换成”MON-FRI”,”MON,WED,FRI”,甚至”MON-WED,SAT”。

子表达式范围:

1.Seconds (0~59)
2.Minutes (0~59)
3.Hours (0~23)
4.Day-of-Month (1~31,但是要注意有些月份没有31天)
5.Month (0~11,或者”JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV,DEC”)
6.Day-of-Week (1~7,1=SUN 或者”SUN, MON, TUE, WED, THU, FRI, SAT”)
7.Year (1970~2099)

继续阅读“Quartz定时任务Cron表达式”