.class-Dateien modifizieren

Status
Nicht offen für weitere Antworten.

mikachu

Top Contributor
hi community,

wie kann man eine *.class-datei aus einem exisiterenden projekt bearbeiten, und wieder hineinschieben?

für die modifizierung benötige ich einen decompiler, den hab ich schon, aber schon beim laden im eclipse ist der ganze sourcecode rot unterstrichen (wegen fehlender referenzen).

dort will ich nur eine zeile auskommentieren...

muss ich da die ganzen abhängigkeiten auflösen, oder kann ich die .java datei einfach wieder so kompilieren und die generierte .class datei in das projekt wieder einfügen?

danke für tipps :!:
 

Natorion

Bekanntes Mitglied
du musst die restlichen class dateien schon als library benützen sonst kompiliert da garnix. fragwürdig ist es blos, ob das legal ist was du machst ;)
 

mikachu

Top Contributor
klar ist das legal!

also muss der ganze kladderadatsch drumherum mit sein, also die packages und imports, die im sourcecode stehen...

hmm, das ist nun weniger gut.

der hintergedanke ist, dass ich den JBoss etwas abmagern soll, also auf diät schicken.
doch das beast ist gar nicht mal so leicht zu zähmen.

doch der hauptgrund, warum ich die class-files modifizieren will ist der, dass mich ein paar ausschriften des JBoss-bootvorganges stören!

mfg
 

Murray

Top Contributor
JBoss ist doch auch als Source-Code verfügbar, warum machst Du Dir die Mühe mit dem Decompiler?
 

mikachu

Top Contributor
jo, das mit dem sourcecode ist mir erst später eingefallen, und jetzt such ich dort die stelle, wo der die jar datei erstellt, welche die klasse beinhaltet, welche die ausschrifen generiert.

aber erst hatte ich eben die class datei gesehen, dacht ich mir, dekompilieren und stück auskommentieren, neu kompilieren und class datei wieder ins jar archiv einfügen... aber das war dann doch net so einfach :roll:

mal sehen, ob ich heute noch schlau werd hierraus ;)
 

mikachu

Top Contributor
diese will ich "herausnehmen":

12:41:32,372 INFO [WebappLoader] Dual registration of jndi stream handler: factory already defined
12:41:35,216 WARN [SecurityCollection] Suspicious url pattern: "/restricted/*" - see http://java.sun.com/aboutJava/communityprocess/first/jsr053/servlet23_PFD.pdf section 11.2

die kommen immer, wenn der JBoss bootet.

da hab ich mal nachforschungen angestellt, und weiß schonmal, dass die erstere aus einer WebappLoader.class kommt, welche im jar-file catalina.jar beherbergt ist.

und in dieser class-datei will ich jediglich ein kommentar einfügen, damit ich die methode, welche diese zeile erstellt, nicht mehr aufgerufen wird.
 

mikachu

Top Contributor
jo, mein chef meint, dass ich diese rausnehmen sölle ^^.
und seinen chef will man ja nicht enttäuschen, oder ihm gegenüber äußern, dass es nicht möglich ist.
denn... ALLES IST MÖGLICH :!: :D
 

mikachu

Top Contributor
ich müsste ja eigentlich nur an die quellen der catalina.jar rankommen, ohne erst alles zu dekompilieren.
aber das wird sicherlich nicht gehen, da ich schon einige nachforschungen im internet angestellt habe...
das ist ja auch eine drittanbieter-datei :roll:

aber naja, vielleicht gelingt es mir doch noch im laufe der nächsten tage / wochen / monate :lol:
 

L-ectron-X

Gesperrter Benutzer
Er scheint es sich ja leisten zu können, Zeit (und damit Geld) für solche Nebensächlichkeiten zu verschwenden.
 

mikachu

Top Contributor
naja, es ist schon besser so, einen kleinen JBoss auszuliefern, der nur die benötigten ressource zur verfügung stellt, also kleiner ist, als so ein mega-application-server.

das mit den meldungen ist ja wirklich nur ein kleiner schönheitsfehler vom JBoss!

ganz nach der devise: kleiner ist besser :lol:
 

AlArenal

Top Contributor
Handelt man sich da nicht eh nur Probkeme bei späteren Updates mit ein? Zumal es eh immer ziemliches Gefpriemel ist recht komplexe Installationen an den Paket-managern der diversen Unix-/Linux-Derivate vorbei zu machen. Ist die Ersparnis so gigantisch, dass sie den Aufwand rechtfertigt, anstattt die Zeit in die Entwicklung zu stecken?
 

mikachu

Top Contributor
ob man sich dabei nur problemen einhandelt, weiß ich nicht... (bin ja erst seit diesem monat wieder auf arbeit ;))

aber wenn die dokumentation gut ist, und man alles hineingeschrieben hat, was man wie verändert hat, ist das dann einfacher an die neueren versionen anzupassen.
klar steckt da immer aufwand dahinter, aber der lässt sich nunmal nicht vermeiden, sondern nur gering wie möglich zu gestalten...
 

AlArenal

Top Contributor
Ich frag mich nur ob das überhaupt notwenig ist. Von wieviel Ersparnis reden wir und was bringt diese dem Kunden? Wir sprechen doch hier nicht von zig GB...
 

mikachu

Top Contributor
richtig, wir sprechen hier von lediglich ein paar MB, denn der JBoss ist nicht soo groß ^^.

aber einerseits ist es auch ein gutes training für mich in meinem später berufszweig und andererseits kommt es hauptsächlich auf die boot-zeit des JBosses an. und diese sollte so gering wie möglich gehalten werden... nicht dass, wenn man den starten will, erst einige minuten warten muss, bis der endlich oben ist.
 

foobar

Top Contributor
- Der JBoss ist doch sowieso ein Microkernel, also kann man ihn ganz einfach abspecken indem man die SAR's die man nicht braucht einfach entfernt.
- Die Fehlermeldung kannst du doch auch über die log4j.properties unterdrücken, da brauchst du nicht an den Code ran.
- Wenn du schon was am JBosscode veränderst sollte du die Änderungen auch comitten, damit alle etwas davon haben und du in der nächsten Version nicht wieder an den Code ran mußt.
 

mikachu

Top Contributor
wo find ich die log4j.properties?
wenn es eine solche geben würde, dann wär das natürlich einfacher :D... aber ich find keine derartige datei :roll:
 

Natorion

Bekanntes Mitglied
najo wenns dir wirklich um performance geht, würd ich nicht nur die properties von log4j verändern sondern die zeile wirklich herauslöschen. hab das selbst bei mir gemerkt, und man glaub garnit was da flöten geht, wenn so eine log4j anweisung in ner methode drinnen ist die oft aufgerufen wird ;)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Collections.sort funktioniert nicht in exportierten .class Dateien Allgemeine Java-Themen 10
V Eclipse .class Dateien Allgemeine Java-Themen 9
K Nicht alle class-Dateien im JRE? Allgemeine Java-Themen 2
B Erste Schritte Plugin erkennen und Class Dateien anzeigen lassen Allgemeine Java-Themen 3
TheDarkRose Subversion .class Dateien auch commiten? Allgemeine Java-Themen 3
B class dateien "einlesen" und objekte erzeugen Allgemeine Java-Themen 6
N .class-Dateien aus JavaCache holen Allgemeine Java-Themen 2
D in class-Dateien nach variablen suchen! Allgemeine Java-Themen 5
oliver1974 Zugriff auf externe .class Dateien (und resourcen) aus JAR Allgemeine Java-Themen 11
E Class-Dateien in Eclipse einbinden Allgemeine Java-Themen 2
B Java CLASS Dateien dekompilieren? Allgemeine Java-Themen 2
G JRE startet .class Dateien nicht Allgemeine Java-Themen 6
bummerland de-compilieren von class-dateien? Allgemeine Java-Themen 18
D NoClassDefFoundError: Could not initialize class Allgemeine Java-Themen 0
J Class to link Java Allgemeine Java-Themen 4
C Was passt hier nicht bei der Calendar-Class Allgemeine Java-Themen 2
E Class.getResourceAsStream() gibt null zurück Allgemeine Java-Themen 2
Erwin82a Object cannot be converted to Custom Class in Lampda Expression Allgemeine Java-Themen 2
T Java Robot Class - Bot Allgemeine Java-Themen 3
S Class File Editor -> Source not found Allgemeine Java-Themen 4
G javafx "class path" exception Allgemeine Java-Themen 5
S Java class direved from inner class Allgemeine Java-Themen 6
S Inner Class Allgemeine Java-Themen 11
K Wildcard und class type Allgemeine Java-Themen 9
M Java model class ? Allgemeine Java-Themen 9
Thallius Ist meine static Helper Class Thread save? Allgemeine Java-Themen 9
S class path resource [config.properties}] cannot be opened because it does not exist Allgemeine Java-Themen 4
J Reflection Aufruf: .class durch .dll ersetzen Allgemeine Java-Themen 4
T Compiler-Fehler NoClassDefFoundError beim Laden einer Class Allgemeine Java-Themen 11
J Class Decompile als String (Procyon) Allgemeine Java-Themen 2
H Class 'java.io.BuferedReader' is not present in JRE Emulation Libary | GWT Fehler?! Allgemeine Java-Themen 0
I Datentypen String in class sicher verwahren Allgemeine Java-Themen 17
R Dynimc Class Loading Allgemeine Java-Themen 5
J Inner class + Leer-Konstruktor Allgemeine Java-Themen 1
Neumi5694 Methoden Generic: Rückgabetyp als Class-Parameter übergeben Allgemeine Java-Themen 3
KeexZDeveoper Von .class zu .java Allgemeine Java-Themen 7
N Wo ist Object.class ? Allgemeine Java-Themen 0
M *.class Files ausführen Allgemeine Java-Themen 2
L Klassen Nested Class In Nested Class Allgemeine Java-Themen 3
perlenfischer1984 Dialect class not found exception Allgemeine Java-Themen 15
Tort-E Manifest Main-Class Allgemeine Java-Themen 8
I JSoup Class auslesen Allgemeine Java-Themen 1
K Generic class und Reflection Allgemeine Java-Themen 2
R .class Datei in .jar austauschen Allgemeine Java-Themen 2
R Java .class-File-Konstrunkt mit Programm visualisieren Allgemeine Java-Themen 18
A main-class Not found Allgemeine Java-Themen 3
T Java Class Intrumentation mit Annotations in Laufzeit Allgemeine Java-Themen 1
N Per Reflection auf (method) local inner class zugreifen? Allgemeine Java-Themen 3
P JDK installieren Error: Could not find or load main class HelloWorld.java Allgemeine Java-Themen 3
B public class JarFilter extends FileFilter « Falsch? Allgemeine Java-Themen 4
D Object nach Vererbung mit Class Object überprüfen Allgemeine Java-Themen 4
T Hash von *.class-Datein überprüfen Allgemeine Java-Themen 1
F java.lang.ClassNotFoundException: .class Allgemeine Java-Themen 5
T InvalidClassException - Read null attempting to read class descriptor for object Allgemeine Java-Themen 8
Phash Can't find Main Class Allgemeine Java-Themen 4
B json zu java class Allgemeine Java-Themen 2
antonbracke Aus Jar eine Class laden und damit arbeiten! Allgemeine Java-Themen 5
D Class<CAP#1> statt Class<...> Allgemeine Java-Themen 5
T Class-Objekt mit URLClassloader Allgemeine Java-Themen 7
A Class Datei aus Verzeichnis über URLClassLoader laden Allgemeine Java-Themen 2
L Class Files , Methode .delete() Allgemeine Java-Themen 13
E NetBeans warning: [options] bootstrap class path not set in conjunction with -source 1.6 Allgemeine Java-Themen 4
X Could not find the main class programm will exit (textdokument) Allgemeine Java-Themen 3
S Could not find the main class Allgemeine Java-Themen 7
B Mal wieder "Could not find the main class" Allgemeine Java-Themen 3
B Variable class in java.lang.Object Allgemeine Java-Themen 11
C Could not find the main class. Allgemeine Java-Themen 15
S Klassen .jar - eine .class datei ändern? Allgemeine Java-Themen 23
A Could not find main class: start Allgemeine Java-Themen 5
S main() class finden Allgemeine Java-Themen 7
hdi Could not find main class? Allgemeine Java-Themen 8
R Warum Class.forName(); Allgemeine Java-Themen 7
C class.class angefordert ? Allgemeine Java-Themen 2
S Methoden Class.forName() >> Methoden - Reihenfolge Allgemeine Java-Themen 5
B Test$1.class mit dem javac compiler Allgemeine Java-Themen 7
G jar Datei findet Main Class nicht... Allgemeine Java-Themen 2
P Java Editor Could not find the main class GUI. Programm will exit. Allgemeine Java-Themen 3
D class Datei einlesen Allgemeine Java-Themen 4
T Interface > Abstract > Class Allgemeine Java-Themen 11
D API - Beispiel + static member in inner (non static) class Allgemeine Java-Themen 2
E String name in class convertieren Allgemeine Java-Themen 4
F Änderung in .jar bzw. .class vornehmen ? Allgemeine Java-Themen 18
H2SO3- bestimmte class immer mit 1.4 compilieren Allgemeine Java-Themen 5
G Unterschied MyClass.class vs this Allgemeine Java-Themen 2
S mit Class eine Klasse nur einmal instantiieren Allgemeine Java-Themen 4
Sonecc Zugriff auf Class File einer anderen Jar während der Laufzeit Allgemeine Java-Themen 2
M Klasse aus xyz.class Datei laden / package entfernen? Allgemeine Java-Themen 4
BattleMaster246 Could not find the Main class Allgemeine Java-Themen 30
N class Task extends TimerTask ohne Blockieren Allgemeine Java-Themen 15
H .class in .java umwandeln Allgemeine Java-Themen 3
T class.newinstance + try/catch-konstruktor Allgemeine Java-Themen 6
X Cannot refer to a non-final variable settings inside an inner class defined in a different method Allgemeine Java-Themen 4
J Class.forName und CLASSPATH -Problem Allgemeine Java-Themen 5
T Class-files zur Laufzeit zu Reflection-Zwecken laden Allgemeine Java-Themen 18
G Thread in Methode oder in inner class Allgemeine Java-Themen 3
woezelmann referenz der outer class aus static nested class heraus Allgemeine Java-Themen 7
reibi Main-Class in Jarfile Allgemeine Java-Themen 3
E Timer class macht einfach garnichts :/ Allgemeine Java-Themen 6
D Class.forName Allgemeine Java-Themen 2
S Class RGB Farbe Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben