Implementé una aplicación web en el motor de la aplicación Google y mi servicio web usa el marco jersey 1.14. Cuando intento consumir o invocar los servicios web en GAE, obtengo una clase java.lang.IncompatibleClassChangeError: Implementing. Busqué alrededor y me di cuenta de que el jersey 1.14 depende de asm 3.1 y el motor de la aplicación google usa asm 4.0 y me di cuenta de que tenía que usar JarJar para empaquetar las dependencias para solucionar este problema, pero no tengo ni idea de cómo hacerlo con JarJar. El tutorial que encontré fue muy críptico y orientado a los programadores de experiencias. Así que alguien puede publicar un tutorial dirigido a un principiante o guiarme por los pasos para resolver este problema.utilizando la herramienta de reempaquetado de JarJar
Respuesta
Puede usar el comando jar de jdk para extraer y fusionar los archivos jar.
frasco -xvf firstjar.jar .... Se extraerá el tarro clases carpeta/paquete sabia -com/Pak1/Pak2
Ahora mismo extracto segundo frasco y fusionar las dos carpetas expandidas
No se puede crear una solo jar de archivos de clase fusionados.
jar -cvf mergedjar.jar [nombre de carpetas [ex com org ...]], para más detalles, compruebe cómo funcionan los comandos jar.
Bueno, esta es una respuesta bastante tardía, pero si alguien cruza puede ser de ayuda. Tomaré un ejemplo y explicaré esto. jarjar se puede utilizar para volver a empaquetar las bibliotecas de Java. se puede usar para cambiar el espacio de nombres, por ejemplo, org.apache.common.codec necesita ser cambiado a some_random_name.org.apache.common.codec. Descargar jarjar de jarjar download site después pegar el archivo JAR que desea cambiar (myinjar.jar) y jarjar descargado en una carpeta y ejecutar este comando java -jar jarjar-1.4.jar process myrules.txt myinjar.jar myoutjar.jar
en myrules.txt añadir estas líneas
rule org.apache.commons.codec.** [email protected]
la salida será myoutjar.jar guardado en la misma carpeta y puede usarlo en su proyecto sin ningún conflicto
estoy obteniendo 'Error de sintaxis: entradas de jar duplicadas: META-INF/LICENSE.txt' –
gikarasojo tal vez este [enlace] (http://stackoverflow.com/questions/31912459/duplicate-lib-file-copied-in-apk -meta-inf-license-txt-error-in-andorid-studio) puede ayudar –
Tengo un caso complicado de alguna manera. Quiero usar algunas funcionalidades siempre que se proporcione una biblioteca 'm.jar' Esta biblioteca requiere que use una clase' BindingProvider' que se encuentra en el paquete 'javax' pero que no está en Android. así tuve que descargar otro tarro llamado 'android-ws-combine.jar'. cuando lo agregué en mi módulo e intenté ejecutarlo, recibí el error 'Error: problema para procesar" javax/xml/XMLConstants.class ":'. pensé que el reempaquetado 'android-ws-combine.jar' ayudaría pero mi otro jar' m.jar' también arroja algunos errores ya que no puede encontrar 'javax.BindingProvider' porque renombré el paquete' javax' cuando repa –
- 1. ¿Cómo usar jarjar desde la línea de comandos?
- 2. paquete de Google App Engine "reempaquetado"
- 3. Verificar que la apk de Android no se haya reempaquetado.
- 4. ¿Hay alguna manera de emular la herramienta 'whois' utilizando php?
- 5. Herramienta para generar carga utilizando la base de datos de muestra
- 6. ¿Qué significan los números en la línea "Total" de la salida de reempaquetado de git gc/git?
- 7. Trazar histograma RTT utilizando wireshark u otra herramienta
- 8. ¿Cómo imprimo las estructuras de clase en un archivo jar utilizando la herramienta javap?
- 9. No se puede crear solicitud de certificado Apple Developer utilizando la herramienta llavero acceso
- 10. Proguard retrace la salida de la herramienta
- 11. Obtener varias hojas en la misma salida de Excel utilizando la herramienta de informes BIRT (versión de fuente abierta)
- 12. .NET Equivalente de la herramienta de recorte
- 13. detección de condición de carrera utilizando findbugs u otra herramienta de análisis
- 14. Herramienta/herramienta de análisis de volcado de subprocesos
- 15. Herramienta gratuita de sincronización MySQL
- 16. Herramienta de foco similar a la calculadora
- 17. Herramienta para ver la especificidad de CSS
- 18. herramienta de regresión CSS?
- 19. Herramienta de fusión semántica
- 20. Herramienta para crear la jerarquía de llamadas de la biblioteca
- 21. UC_IMAGE_PATH Herramienta de actualización
- 22. Herramienta de depuración StatET
- 23. Transformador JAXP XSLT utilizando la implementación incorrecta de forma predeterminada
- 24. ¿Qué herramienta de perfiles de Java usa y qué herramienta cree que es la mejor?
- 25. Herramienta de análisis SVN
- 26. ¿Alguna herramienta similar a la aplicación Hyperterminal?
- 27. Herramienta de supervisión de IIS
- 28. Herramienta de visualización de gráficos
- 29. Herramienta de formateo de Python
- 30. ¿Cómo usar la herramienta 2to3 en Windows?
Esto no ayudará, porque en el tiempo de ejecución las clases con el mismo nombre completamente calificado colisionarán. _Jarjar_ hace más que solo fusionar los frascos. Sin embargo, todavía tengo que entenderlo. – vadipp