Ho distribuito un'applicazione Web al motore dell'app Google e il mio servizio Web utilizza il framework jersey 1.14. Quando provo a utilizzare o invocare i servizi Web su GAE, viene visualizzato java.lang.IncompatibleClassChangeError: Implementing class. Ho cercato in giro e ho capito che la maglia 1.14 dipende da asm 3.1 e google app engine usa asm 4.0 e mi rendo conto che ho dovuto usare JarJar per pacchettizzare le dipendenze per risolvere questo problema ma non ho idea di come fare questo con JarJar. Il tutorial che ho trovato è stato molto criptico e orientato verso i programmatori di esperienza. Qualcuno può pubblicare un tutorial orientato verso un principiante o guidarmi attraverso i passaggi per risolvere questo problema.utilizzando lo strumento di riconfezionamento JarJar
risposta
È possibile utilizzare il comando jar di jdk per estrarre e unire i file jar.
jar -xvf firstjar.jar .... Sarà estrarre il barattolo classi cartella/pacchetto saggio -COM/PAK1/Pak2
Ora stesso estratto secondo vaso e unire le due cartelle espansi
Non è possibile creare un singolo jar di file di classe uniti.
jar -cvf mergedjar.jar [nome cartella [ex com org ...]], per i dettagli controllare come funzionano i comandi jar.
Bene, questa è una risposta piuttosto tardiva, ma se qualcuno dovesse incrociare potrebbe essere d'aiuto. Prenderò un esempio e lo spiegherò. jarjar può essere utilizzato per riconfezionare librerie java. può essere usato per cambiare lo spazio dei nomi, ad esempio org.apache.common.codec deve essere cambiato in some_random_name.org.apache.common.codec. Scarica jarjar da jarjar download site poi incollare il file jar che si desidera modificare (myinjar.jar) e jarjar scaricato in una cartella ed eseguire il comando java -jar jarjar-1.4.jar process myrules.txt myinjar.jar myoutjar.jar
in myrules.txt aggiungere queste righe
rule org.apache.commons.codec.** [email protected]
il myoutjar.jar uscita sarà salvato nella stessa cartella e puoi utilizzarlo nel tuo progetto senza conflitti
sto ricevendo 'Errore di sintassi: voci jar duplicate: META-INF/LICENSE.txt' –
gikarasojo forse questo [collegamento] (http://stackoverflow.com/questions/31912459/duplicate-lib-file-copied-in-apk -meta-inf-license-txt-error-in-andorid-studio) può aiutare –
Ho un caso in qualche modo complicato. Voglio usare alcune funzionalità fornite una libreria 'm.jar' questa libreria richiede che io usi una classe' BindingProvider' che si trova nel pacchetto 'javax' ma non è in Android. quindi ho dovuto scaricare un altro jar chiamato 'android-ws-combine.jar'. quando l'ho aggiunto nel mio modulo e ho cercato di eseguirlo, ho ricevuto l'errore 'Errore: problema nell'elaborazione di" javax/xml/XMLConstants.class ":'. ho pensato che il riconfezionamento 'android-ws-combine.jar' sarebbe stato d'aiuto, ma anche il mio altro jar' m.jar' genera degli errori dato che non riesce a trovare 'javax.BindingProvider' perché ho rinominato il pacchetto' javax' quando repa –
- 1. creazione automatica di sequenza utilizzando lo strumento di ibernazione
- 2. Come usare jarjar dalla riga di comando?
- 3. Uso di django per lo strumento CLI
- 4. Come utilizzare lo strumento 2to3 in Windows?
- 5. come aggiornare AndroidManifest.XML in resources.arsc utilizzando lo strumento aapt per Android utilizzando il terminale
- 6. Ottenere più fogli nello stesso output di Excel utilizzando lo strumento di report BIRT (versione opensource)
- 7. Impossibile creare Apple Developer richiesta di certificato utilizzando lo strumento di Accesso Portachiavi
- 8. Lo strumento massiccio di Valgrind non profilerà la mia applicazione
- 9. Crea certificato x509 con lo strumento di OpenSSL/makecert
- 10. Uscita colore con lo strumento da riga di comando Swift
- 11. Dove posso scaricare lo strumento PEVerify.exe?
- 12. Come aggiungere un telefono con twitter utilizzando lo strumento di terze parti
- 13. Come posso velocizzare il processo di compilazione utilizzando lo strumento Maven
- 14. Importazione dell'API Swagger nel gateway API AWS utilizzando lo strumento da riga di comando
- 15. Come creare un file di intestazione C utilizzando lo strumento Javah
- 16. Che cos'è lo strumento di gestione delle richieste di modifica?
- 17. Lo strumento di allocazione di Xcode Instruments manca un po '.
- 18. Dov'è lo Strumento di configurazione .Net (mscorcfg.msc) in Windows 7?
- 19. Mantieni attivo lo strumento da riga di comando
- 20. Test di carico con lo strumento Postman REST/RESTFUL
- 21. Perché lo strumento di cabal non utilizza Setup.lhs/Setup.hs?
- 22. impossibile configurare lo strumento perdite per il processo di destinazione
- 23. con lo strumento di fusione p4merge in git
- 24. Qual è lo strumento di generazione standard in Erlang?
- 25. come rimuovere i binding SVN dalla cartella utilizzando lo strumento SVN della GUI
- 26. Interpretazione dei risultati dello strumento strumento "Uso di energia"
- 27. GUI Handcode o utilizzare lo strumento gui-designer
- 28. Strumento da riga di comando in Objective-C utilizzando Foundation?
- 29. Come utilizzare JarJar con Android per modificare i nomi dei pacchetti di jar esterni?
- 30. Qual è lo strumento migliore per lo sviluppo di applicazioni Blackberry?
Questo non è d'aiuto, perché in runtime le classi con lo stesso nome completo si scontreranno. _Jarjar_ fa molto più che unire i barattoli. Devo ancora capirlo da solo, però. – vadipp