Edycja plików *.class

0

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.

0

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?

0

Nie mogę edytować tego co jest pokazane na screenie, widzę jedynie kod.

0

Jak sądzę, to zdekompilowana klasa. Skopiuj, edytuj i skompiluj z powrotem.

0

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.

0

@::., "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.

0

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.).

0

@bo widać, że nie miałeś doświadczenia z tym programem.

@..:: wszystkie świetnie, pozostało tylko pytanie, jak podmienić pliki class w jarze.

0

@despekt, wiesz co znaczy po polsku Save Source i Save All Sources?

0

Ty naprawdę jesteś początkujący, jar to zip. Umiesz chyba podmienić pliki w zipie.

0

Najprościej, wystarczy go zupdate'ować o nowe klasy, chyba, że jest podpisany. Albo zbudować nowy.

0

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.

0

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.

0

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

0

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/

0

Ale Ty jesteś nieporadny. Help => Preferences => Source saving, odfajkuj Display line number

0

Nieporadny jak nieporadny, moze chodzi o to ze UI jest po angielsku?

1 użytkowników online, w tym zalogowanych: 0, gości: 1