问题描述:
在测试与平安银行网关支付时,支付完成后,前台通知的地址总是提示验签失败,然而单独测试这个证书可用,细看问题发现是因为maven在LINUX环境打包后,证书内的空格,占位符等被maven替换了,导致证书长度增长,证书无效.
问题解决:
参考:https://stackoverflow.com/questions/19500458/maven-resource-binary-changes-file-size-after-build
在你所使用的插件下面增加:
<resource>
<directory>${basedir}/src/main/webapp/certs</directory>
<filtering>false</filtering>
<targetPath>WEB-INF/classes</targetPath>
</resource>
又可以参考下面配置
<build>
...
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>p12</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
</plugins>
</build>
将静态文件直接copy过去,不需要maven来打包,我用第一种方式解决了该问题.
2017-11-29 踩坑记录