Maven 插件maven-war-plugin 构建war包,包含jks,p12证书时的踩坑记录

本文记录了在使用Maven的maven-war-plugin构建包含jks和p12证书的war包时遇到的问题。在Linux环境下,打包后证书因空格和占位符被替换导致验签失败。解决方案是通过调整Maven插件配置,防止资源文件内容改变。参考了Stack Overflow上的解决方案,最终成功解决此问题。
摘要由CSDN通过智能技术生成

问题描述:

在测试与平安银行网关支付时,支付完成后,前台通知的地址总是提示验签失败,然而单独测试这个证书可用,细看问题发现是因为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 踩坑记录

### 回答1: maven-war-plugin插件中的packagingExcludes属性用于在打war排除特定的文件或目录。这可以使用ant-style的通配符进行配置。例如,如果要排除web应用程序中的所有.log文件,则可以将packagingExcludes设置为"WEB-INF/logs/*.log"。 ### 回答2: maven-war-pluginMaven的一个插件,用于打WAR文件。packagingExcludes是maven-war-plugin的一个配置选项,用于指定哪些文件不会被打到最终的WAR文件中。 packagingExcludes的作用是帮助开发人员过滤掉不需要打WAR文件中的文件。通常情况下,WAR文件是用于部署到Web容器中,包含了Web应用程序的所有资源文件,括HTML、CSS、JavaScript、图片等。但是在实际开发过程中,可能存在一些临文件、配置文件、日志文件等不需要部署的文件。 通过配置packagingExcludes,开发人员可以将这些不需要打的文件排除在外,从而减小WAR文件的体积,并且减少了部署和发布的间。这对于大型Web应用来说尤为重要,因为WAR文件越大,部署和发布的间就越长。 packagingExcludes的配置方式非常简单,只需要在pom.xml文件中的maven-war-plugin插件的配置中添加一个<packagingExcludes>标签,然后在标签中指定具体要排除的文件或文件夹的路径即可。如果有多个文件或文件夹需要排除,可以使用逗号或分号进行分隔。 总的来说,packagingExcludes是maven-war-plugin插件提供的一个配置选项,用于在打WAR文件排除不需要部署的文件,以减小WAR文件体积、提高部署和发布的效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值