Witam, potrzebuje przeprowadzić edycję pliku class zawartego w archiwum jar.
Wygląda to tak : http://java.decompiler.free.fr/sites/default/screenshots/screenshot1.png
Tylko nie mam pojęcia jak przeprowadzić edycje i zapisać zmiany.
Witam, potrzebuje przeprowadzić edycję pliku class zawartego w archiwum jar.
Wygląda to tak : http://java.decompiler.free.fr/sites/default/screenshots/screenshot1.png
Tylko nie mam pojęcia jak przeprowadzić edycje i zapisać zmiany.
Edycje za pomoca edytora tekstu - klikasz w miejsce ktore chcesz zmienic (dodac cos, usunac) i wciskasz klawisze az uzyskasz to co zamierzasz. Pozniej zapisujesz.
Masz jakies powazne pytanie?
Nie mogę edytować tego co jest pokazane na screenie, widzę jedynie kod.
Jak sądzę, to zdekompilowana klasa. Skopiuj, edytuj i skompiluj z powrotem.
A nie mozesz zaznaczyc tego co masz i skopiowac do innego pliku? Nie wierze ze jak juz masz zdekompilowany kod to nie mozna go jakos zapisac. Jak nie, to posluz sie narzedziem 'jad', wpisz w google jad java decompiler - male ale swietne narzedzie do dekompilacji. Jak zdekompilujesz i zmienisz kod to musisz skompilowac, jak powiedzial przedmowca, a nastepnie podmienic wynikowe pliki class w jar.
@::., "mój" jad nie chce dekompilować nowych klas, a nie mogę znaleźć aktualnego jada. Używam cavaj Java decompiler, ma interfejs graficzny analogiczny jak u autora wątku.
@autor, kliknij w File, zapewne pojawi się opcja Zapisz.
ech...przecież Ty zmieniasz skompilowany już plik. Decompiler pokazuje CI co w nim jest po zdekompilowaniu, ale to nie znaczy przecież że możesz normalnie zmieniać istniejacy i skompilowany projekt. Musisz normalnie zekompilowac wszystkie klasy i zbudować na nowo (założyć projekt itd.).
@bo widać, że nie miałeś doświadczenia z tym programem.
@..:: wszystkie świetnie, pozostało tylko pytanie, jak podmienić pliki class w jarze.
@despekt, wiesz co znaczy po polsku Save Source i Save All Sources?
Ty naprawdę jesteś początkujący, jar to zip. Umiesz chyba podmienić pliki w zipie.
Najprościej, wystarczy go zupdate'ować o nowe klasy, chyba, że jest podpisany. Albo zbudować nowy.
Plik jar zawiera około dwóch tysięcy class. To raz.
Przy zapisywaniu "Save source" dopisuje mi numery linii, przez które wysypuje mi kompilator.
Jak bo - jar to zip, otworz np 7-zip, przenies inne pliki DnD i 7zip jest na tyle super ze sie spyta czy podmienic pliki. Dosc podstawowa obsluga komputera w sumie.
co nie zmienia faktu, ze nic nie chce mi skompilowac pojeedynczego pliku .java (bedacego wczesniej czescia zbioru plikow class), a ja z kolei nie chce przeprowadzac masowej dekompilacji, co wlasnie robie bo jestem przekonany ze to zbedny proces i w takim miejscu jak te dowiem sie co zrobic by szlo to lzej i szybciej
Musisz po prostu ustawic classpath podczas kompilacji. Zalozmy ze stary jar nazywa sie stary.jar, a zdekompilowany plik nazywa sie Plik.java, robisz tak:
javac -cp stary.jar Plik.java
Czyli stare klasy sa dostepne podczas kompilacji tego nowego pliku, zapewne sa tam importy tychze wlasnie klas. Jesli potrzebujesz do kompilacji inne jary, dodaj je do classpath:
javac -cp stary.jat;jpa.jar;ejb.jar Plik.java
Jary do JPA, EJB (wydaje mi sie ze tego dotyczy projekt) znajdziesz chociazby tutaj: https://repository.jboss.org/nexus/content/groups/public-jboss/org/jboss/spec/javax/
Ale Ty jesteś nieporadny. Help => Preferences => Source saving, odfajkuj Display line number
Nieporadny jak nieporadny, moze chodzi o to ze UI jest po angielsku?