tools run mvn groupid google appengine java google-app-engine maven ssl javapns

java - run - groupid com google cloud tools</ groupid



Maven: recurso binario cambia el tamaño del archivo después de la construcción (3)

Estoy usando el complemento appengine-maven para compilar mi proyecto Java Google App Engine.

Incluyo certificados .p12 en una subcarpeta WEB-INF

Cuando compilo mi aplicación, el tamaño del archivo del certificado aumenta en unos pocos KB. Esto lo hace inválido. También he visto lo mismo con los certificados .jks.

He verificado la validez del certificado de precompilación y he utilizado el mismo método para confirmar la invalidez del certificado posterior a la compilación.

¿Alguien puede decirme por qué cambia el tamaño del archivo y por qué no se copia simplemente al WAR?

Gracias por tu ayuda.


Otra solución es deshabilitar el filtrado de archivos .p12 en su proyecto agregando la siguiente configuración:

<build> ... <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <configuration> <nonFilteredFileExtensions> <nonFilteredFileExtension>p12</nonFilteredFileExtension> </nonFilteredFileExtensions> </configuration> </plugin> </plugins> </build>


Parece que Maven estaba aplicando filtrado a mi archivo de certificado

http://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html

La solución fue deshabilitarlo.

<resource> <directory>${basedir}/src/main/webapp/certs</directory> <filtering>false</filtering> <targetPath>WEB-INF/classes</targetPath> </resource>

Esto permitió que el certificado se leyera correctamente y resolvió la siguiente excepción en 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)


Resolví el problema moviendo el archivo ''.p12'' un directorio hacia arriba. Entonces, en lugar de mantenerlo en WEB-INF, lo cambié al directorio ''webapp''. No hay filtrado allí.