问题
最近有项目要在jar包内使用jks证书文件,编译运行后,如下错误
java.io.IOException: Invalid keystore format at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:650) at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:55) at java.security.KeyStore.load(KeyStore.java:1214)
查看编译前后的证书文件大小,发现编译后的文件较大,所以猜测maven编译后对文件做了修改,导致了证书不可用。
解决
解决方案有两种
- 使用 maven-resources-plugin 进行过滤
org.apache.maven.plugins maven-resources-pluginjks
- 使用 resources 进行过滤
//将资源文件中的除了后缀为 jks 的其他文件打包到classpath下,对文件做处理 src/main/resources true *.jks //将资源文件中后缀为 jks 的文件打包到classpath,但不对文件做处理 src/main/resources false *.jks
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)