我正在使用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。 –