Mam wdrożoną aplikację internetową do aparatu aplikacji Google, a moja usługa internetowa korzysta z frameworka 1.14. Kiedy próbuję zużywać lub wywoływać usługi sieciowe na GAE, otrzymuję klasę implementacji java.lang.IncompatibleClassChangeError. Przeszukałem i zorientowałem się, że koszulka 1.14 zależy od wersji 3.1, a silnik aplikacji Google używa pakietu asm 4.0 i zdaję sobie sprawę, że muszę użyć JarJar do spakowania zależności, aby rozwiązać ten problem, ale nie mam pojęcia, jak to zrobić z JarJar. Samouczek, który znalazłem, był bardzo tajemniczy i nastawiony na programistów doświadczenia. Czy ktoś może napisać samouczek, który jest nastawiony na początkującego lub przejść przez kolejne kroki, aby rozwiązać ten problem.przy użyciu narzędzia do przepakowywania JarJar
Odpowiedz
Możesz użyć polecenia jar jdk do wyodrębnienia i scalenia plików JAR.
jar -xvf firstjar.jar .... będzie wyodrębnić klasach jar folder/pakiet mądry -Com/pak1/PAK2
Teraz sam ekstrakt drugi słoik i połączyć obie rozszerzony foldery
Nie można utworzyć pojedynczy słoik połączonych plików klas.
jar -cvf mergedjar.jar [nazwa folderu [ex com org ...]], aby uzyskać szczegółowe informacje, sprawdź, jak działają komendy jar.
Cóż, jest to dość późna odpowiedź, ale jeśli ktoś przez nią przechodzi, może to pomóc. Podam przykład i wyjaśnię to. jarjar może być użyty do przepakowania bibliotek java. może być użyty do zmiany przestrzeni nazw, na przykład org.apache.common.codec należy zmienić na some_random_name.org.apache.common.codec. Pobierz jarjar z jarjar download site później wkleić plik jar, który chcesz zmienić (myinjar.jar) i pobranego jarjar do jednego folderu i uruchom to polecenie java -jar jarjar-1.4.jar process myrules.txt myinjar.jar myoutjar.jar
w myrules.txt dodać te linie
rule org.apache.commons.codec.** [email protected]
myoutjar.jar wyjście będzie zapisany w tym samym folderze i można go używać w projekcie bez konfliktów.
Otrzymuję komunikat "Błąd składni: Zduplikowane wpisy JAR: META-INF/LICENSE.txt' –
gikarasojo może to [link] (http://stackoverflow.com/questions/31912459/duplicate-lib-file-copied-in-apk -meta-inf-license-txt-error-in-andorid-studio) może pomóc –
Mam skomplikowany przypadek. chcę użyć niektórych funkcjonalności pod warunkiem, że biblioteka 'm.jar' ta biblioteka wymaga, że używam klasy' BindingProvider', który znajduje się w pakiecie 'javax', ale nie jest w systemie Android. w związku z tym musiałem pobrać kolejny słoik o nazwie 'android-ws-combine.jar'. kiedy dodałem go do mojego modułu i próbowałem go uruchomić, mam błąd "Błąd: przetwarzanie problemów" javax/xml/XMLConstants.class ":'. myślałem, że przepakowanie 'android-ws-Combine.jar' pomoże, ale mój inny słoik' m.jar' również zgłasza pewne błędy, ponieważ nie może znaleźć 'javax.BindingProvider', ponieważ zmieniłem nazwę na pakiet' javax', gdy jesteś w stanie repa –
- 1. Sortowanie wykazu katalogów przy użyciu narzędzia RecursiveDirectoryIterator
- 2. Pobierz plik przy użyciu narzędzia HtmlUnit
- 3. Zarządzaj indeksem hoogle przy użyciu narzędzia stosu
- 4. Błąd BadImageFormatException przy użyciu narzędzia InstallUtil
- 5. Odcinanie rozwijania przy użyciu narzędzia rozruchowego
- 6. Cofanie realizacji transakcji przy użyciu narzędzia cleartool
- 7. Potrzebujesz pomocy przy użyciu narzędzia NtCreateFile() do otwarcia przez fileIndex
- 8. WPF przy użyciu narzędzia ResizeGrip do zmiany rozmiaru kontrolek
- 9. Dodawanie modułu potwierdzającego do istniejącej strony przy użyciu narzędzia Devise
- 10. Logowanie przy użyciu nazwy użytkownika przy użyciu narzędzia Wymuś z Railsami 4
- 11. Jak wdrożyć tylko podmoduły przy użyciu narzędzia maven deploy?
- 12. Jak utworzyć plik nagłówkowy C przy użyciu narzędzia Javah
- 13. Jak ustawić podstawowe uwierzytelnianie przy użyciu narzędzia RestKit 0.20.0?
- 14. Limit czasu sesji w RoR przy użyciu narzędzia Devise
- 15. Usuwanie pliku z S3 przy użyciu narzędzia Django + Fineuploader + boto
- 16. Jak korzystać z jarjar z wiersza poleceń?
- 17. Limit czasu gatewaya przy użyciu narzędzia traefik i php fpm
- 18. Wyszukiwanie elementów XPath przy użyciu narzędzia IE Developer
- 19. Czy istnieje przykład użycia narzędzia pobierania przy użyciu metody flowjs?
- 20. Narzędzia GIS przy użyciu Datastore Google App Engine?
- 21. Dopasowywanie najmniejszego kwadratu koła przy użyciu narzędzia MATLAB Optymalizacja Toolbox
- 22. Analizowanie zagnieżdżonych danych JSON przy użyciu narzędzia GSON
- 23. Uwzględnij przyciski wewnątrz sugestii typu głowicy przy użyciu narzędzia Backbone
- 24. Jak usunąć powiązania SVN z folderu przy użyciu narzędzia SVN narzędzia GUI
- 25. Narzędzia programistyczne przeglądarki Internet Explorer nie wyświetlają kodu źródłowego przy użyciu narzędzia RequireJS
- 26. Nie można wysłać zapytania do modelu Emberjsa przy użyciu narzędzia DS.FixtureAdapter
- 27. Testowanie naprężeń przy użyciu ogórka
- 28. Przejdź do narzędzia: brak takiego narzędzia "wycieczka"
- 29. Narzędzia do metamodelowania
- 30. Narzędzia do produktu Informix
To nie pomoże, ponieważ w klasach uruchomieniowych o tej samej pełnej nazwie zderzą się. _Jarjar_ robi coś więcej niż tylko łączenie słoików. Wciąż jednak muszę sam się o tym zatroszczyć. – vadipp