错误:java.io.IOException: Short read of DER length
1.从Oracle官方网站查找jce_policy-8.zip直接点击文中附件(包含了JDK1.6,JDK1.7,JDK1.8),替换本地的jre\lib\security\policy\unlimited目录下这两个JAR包
2.还不行确认证书是否有问题,最好重新解压证书文件,然后项目clean,然后删除原文件,重启电脑粘贴新解压的证书到项目中(我是这么干的,网上流行的替换文件毛用没有,但我也照做了)
3.再不行,就可能是重复使用证书流,每次请求获取新的InputStream
public class WXConfigUtil implements WXPayConfig {
public static final String APP_ID = WXConst.appId;
public static final String KEY = WXConst.key;
public static final String MCH_ID = WXConst.mch_id;
@Override
public String getAppID() {
return APP_ID;
}
//parnerid,商户号
@Override
public String getMchID() {
return MCH_ID;
}
@Override
public String getKey() {
return KEY;
}
@Override
public InputStream getCertStream() {
ClassPathResource classPathResource = new ClassPathResource("apiclient_cert.p12");
// 获得File对象,当然也可以获取输入流对象
InputStream certStream = null;
try {
certStream = classPathResource.getInputStream();
return certStream;
} catch (IOException e) {
System.out.println(e.getMessage());
System.out.println("证书这里报错了");
}
return null;
}
@Override
public int getHttpConnectTimeoutMs() {
return 8000;
}
@Override
public int getHttpReadTimeoutMs() {
return 10000;
}
错误:java.io.IOException: DerInputStream.getLength(): lengthTag=111, too big.
解决方案,pom文件增加:
<nonFilteredFileExtensions>
<nonFilteredFileExtension>p12</nonFilteredFileExtension>
<nonFilteredFileExtension>jkx</nonFilteredFileExtension>
<nonFilteredFileExtension>cer</nonFilteredFileExtension>
<nonFilteredFileExtension>pem</nonFilteredFileExtension>
<nonFilteredFileExtension>pfx</nonFilteredFileExtension>
</nonFilteredFileExtensions>
全部配置:
<!-- 资源文件拷贝插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.7</version>
<configuration>
<encoding>UTF-8</encoding>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>p12</nonFilteredFileExtension>
<nonFilteredFileExtension>jkx</nonFilteredFileExtension>
<nonFilteredFileExtension>cer</nonFilteredFileExtension>
<nonFilteredFileExtension>pem</nonFilteredFileExtension>
<nonFilteredFileExtension>pfx</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-filtering</artifactId>
<version>1.3</version>
</dependency>
</dependencies>
</plugin>
如果还是不行: <resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
<include>spring/*.xml</include>
<include>**/*.properties</include>
<include>properties/*.properties</include>
<include>*.p12</include>
</includes>
<filtering>false</filtering>
</resource>
总: <resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
<include>spring/*.xml</include>
<include>**/*.properties</include>
<include>properties/*.properties</include>
<include>*.p12</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
错误:Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:2.7:resources (default-resources) on project sea rch-zk-increment-monitor: Mark invalid -> [Help 1]
排坑的时候遇到的问题,虽然不是退款的,姑且写上好了
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.7</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-filtering</artifactId>
<version>1.3</version>
</dependency>
</dependencies>
</plugin>
全部配置:
<!-- 资源文件拷贝插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.7</version>
<configuration>
<encoding>UTF-8</encoding>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>p12</nonFilteredFileExtension>
<nonFilteredFileExtension>jkx</nonFilteredFileExtension>
<nonFilteredFileExtension>cer</nonFilteredFileExtension>
<nonFilteredFileExtension>pem</nonFilteredFileExtension>
<nonFilteredFileExtension>pfx</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-filtering</artifactId>
<version>1.3</version>
</dependency>
</dependencies>
</plugin>
排版不好勿喷,懒癌发作,顺便吐槽句:对接微信的接口从来就没有顺畅过,简直不要太坑!!!!!!! 更坑的是网上的资料大多是复制粘贴,一模一样的回答看见过n次,简直气人.卡我两天,这狗屁退款终于好了