我正在使用appengine-maven插件来构建我的Java Google App Engine项目。Maven:资源二进制文件生成后更改文件大小
我包括在WEB-INF子文件夹
的.p12证书当我建立我的应用程序,证书通过增加几KB的文件大小。这使其无效。我也看到.jks证书也发生了同样的情况。
我已验证证书预先生成的有效性,并使用相同的方法来确认生成后证书的无效性。
谁能告诉我为什么文件大小正在改变,为什么它不是简单地复制到WAR?
感谢您的帮助。
我正在使用appengine-maven插件来构建我的Java Google App Engine项目。Maven:资源二进制文件生成后更改文件大小
我包括在WEB-INF子文件夹
的.p12证书当我建立我的应用程序,证书通过增加几KB的文件大小。这使其无效。我也看到.jks证书也发生了同样的情况。
我已验证证书预先生成的有效性,并使用相同的方法来确认生成后证书的无效性。
谁能告诉我为什么文件大小正在改变,为什么它不是简单地复制到WAR?
感谢您的帮助。
另一种解决方案是通过添加下面的配置文件中禁用整个项目的.p12文件过滤:
<build>
...
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>p12</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
</plugins>
</build>
看来,行家正在申请过滤到我的证书文件
http://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html
解决的办法是禁用
<resource>
<directory>${basedir}/src/main/webapp/certs</directory>
<filtering>false</filtering>
<targetPath>WEB-INF/classes</targetPath>
</resource>
这允许正确读取证书,并解决了以下异常in JavaPNS
Validating keystore reference: VALID (keystore was found)
Verifying keystore content: javapns.communication.exceptions.KeystoreException:
Keystore exception: DerInputStream.getLength(): lengthTag=111, too big. at javapns.communication.KeystoreManager.wrapKeystoreException(KeystoreManager.java:178)
我通过移动”的.p12' 文件一级目录解决了这个问题。因此,不是将它保存在WEB-INF中,而是将其移至“webapp”目录。没有过滤发生在那里。
您应该向我们展示您的pom或可以重现此问题的pom。 –