Konwertuj jar do java

Konwertuj JAR na JAVA

Wyodrębnij osadzone źródła lub zdekompiluj klasy JAR do użytecznych plików źródłowych Java.

Konwertuj pliki JAR online

Nie mamy jeszcze dedykowanego konwertera online dla JAR na JAVA, ale pliki JAR możesz przekonwertować online na te formaty:

Jak konwertować jar do java

Pliki źródłowe są potrzebne, gdy JAR jest jedyną dostępną kopią biblioteki lub aplikacji Java, a jej kod musi zostać przeanalizowany, poddany audytowi, zmodyfikowany lub ponownie zbudowany. Większość wydań JAR zawiera skompilowane pliki .class, dlatego odzyskanie plików .java zwykle wymaga dekompilacji, a nie bezpośredniej konwersji plików.

Co zawiera plik JAR

JAR (Java Archive) to archiwum oparte na formacie ZIP, używane przez programistów Java, narzędzia do budowania i dostawców aplikacji do dystrybucji bibliotek, wtyczek i aplikacji. Zwykle zawiera skompilowane klasy, zasoby, metadane zależności oraz plik META-INF/MANIFEST.MF; wykonywalne pliki JAR mogą deklarować klasę startową w tym manifeście.

Narzędzia JDK, Maven, Gradle, Eclipse i IntelliJ IDEA mogą tworzyć pliki JAR lub korzystać z nich. Oddzielne archiwum o nazwie name-sources.jar często zawiera oryginalne pliki źródłowe i powinno być używane zamiast dekompilowania skompilowanego pliku JAR.

Co to jest plik JAVA

Nie istnieje oddzielny binarny format „JAVA”. Plik .java to zwykły tekstowy kod źródłowy Java zawierający klasy, interfejsy, metody, deklaracje pakietów i instrukcje importu. Można go edytować i kompilować za pomocą javac, pod warunkiem że dostępne są wymagane biblioteki oraz odpowiednia wersja Java.

Jeden plik JAR zwykle generuje wiele plików źródłowych. Ich foldery powinny odpowiadać nazwom pakietów: com.example.Main należy umieścić w com/example/Main.java. Java wymaga, aby publiczna klasa najwyższego poziomu używała takiej samej nazwy pliku jak ta klasa.

Najpierw wyodrębnij istniejący kod źródłowy

Wyświetl zawartość archiwum za pomocą polecenia JDK jar:

jar tf app.jar

Jeśli lista zawiera pliki .java, wyodrębnij je do pustego katalogu roboczego:

mkdir recovered-src
cd recovered-src
jar xf ../app.jar

Jeśli dostępne jest pasujące archiwum źródłowe, wyodrębnij je zamiast tego:

jar xf app-sources.jar

Nie myl zasobów, takich jak pliki .properties, pliki XML, obrazy lub definicje usług, z kodem źródłowym Java. Wyodrębnij je, jeśli są potrzebne w projekcie, ale nie można ich przekonwertować na znaczący kod .java.

Dekompiluj skompilowane klasy

Jeśli plik JAR zawiera wyłącznie pliki .class, użyj desktopowego dekompilatora Java. CFR jest odpowiednim narzędziem wiersza poleceń i zazwyczaj lepiej obsługuje nowszy bytecode Java niż wiele starszych dekompilatorów. Pobierz CFR z oficjalnej strony projektu, a następnie uruchom:

java -jar cfr.jar app.jar --outputdir recovered-src

CFR zapisuje odzyskane pliki .java w katalogu recovered-src. Opcją z interfejsem graficznym jest otwarcie pliku JAR w JD-GUI i wybranie File → Save All Sources; JD-GUI tworzy archiwum ZIP, które należy wyodrębnić przed otwarciem plików w IDE.

IntelliJ IDEA może wyświetlać zdekompilowane klasy do celów inspekcji, ale CFR lub JD-GUI są lepszym wyborem, gdy wymagane jest drzewo źródłowe możliwe do wyeksportowania. W przypadku małych, publicznych i niewrażliwych przykładów usługi działające w przeglądarce, takie jak Decompiler.com, mogą dekompilować pliki JAR bez instalacji lokalnej; przed przesłaniem jakichkolwiek danych sprawdź zasady przechowywania i prywatności usługi.

Ograniczenia kompilacji i odzyskiwania

Zdekompilowany wynik nie jest oryginalnym projektem źródłowym. Bytecode nie zachowuje komentarzy, formatowania, większości nazw zmiennych lokalnych, kodu testów, skryptów budowania, historii kontroli wersji ani części informacji o typach generycznych. Zaciemnianie kodu może zastąpić znaczące nazwy identyfikatorami takimi jak a i b.

Odzyskane pliki mogą nie kompilować się od razu. Dodaj oryginalne zależności pliku JAR, wygenerowany kod, procesory adnotacji, zasoby i opcje kompilatora, a następnie kompiluj dla wersji Java używanej przez oryginalne klasy. Nowsza wersja pliku klas może wymagać nowszego JDK i dekompilatora obsługującego tę wersję.

Pliki JAR obsługujące wiele wersji mogą zawierać alternatywne implementacje klas w katalogu META-INF/versions/, a zacienione pliki JAR mogą zawierać zależności razem z kodem aplikacji. Przed uznaniem każdej odzyskanej klasy za część jednego projektu źródłowego sprawdź strukturę pakietów i manifest.

Prywatne, należące do klientów, licencjonowane lub wrażliwe pod względem bezpieczeństwa pliki JAR przechowuj na lokalnym komputerze zamiast przesyłać je do internetowego dekompilatora. Dekompiluj wyłącznie oprogramowanie, którego jesteś właścicielem lub do którego inspekcji masz uprawnienia; odzyskany kod nadal podlega pierwotnym warunkom licencji i praw autorskich.

Krótko mówiąc, nie da się bezpośrednio przekonwertować JAR na JAVA.
Dlatego nie istnieje tak zwany konwerter jar na java ani darmowe narzędzie online do konwersji .jar na .java.

Porównanie formatu JAR z JAVA

Jak formaty JAR i JAVA wypadają w porównaniu pod względem najważniejszych cech dla tej konwersji.

Porównanie formatów plików JAR i JAVA
Cecha .JAR Java Archive .JAVA Java source code file
Otwarty standard Tak Częściowo otwarty
Kompresja Oba Bez kompresji
Typowy rozmiar pliku Średni Mały
Otwiera się w przeglądarce internetowej Nie Nie
Dalsza edycja Ograniczone Łatwy
Obsługa metadanych Podstawowy Podstawowy
Czytelny tekstowo Nie Tak
Najlepszy do Osadzanie w aplikacjach Profesjonalna produkcja
Wprowadzono 1996 1995
Twórca Oracle (originally Sun Microsystems) Oracle (Java platform; originally Sun Microsystems)
Typ MIME application/java-archive text/x-java-source

Dodatkowe formaty dla konwersji pliku
jar

Konwersja odwrotna

Konwersja do .java
z innych formatów

Udostępnij w mediach społecznościowych: