Eclipse Kein Zugriff auf Inhalt einer referenzierten .jar

D

dnyle

Gast
Hi,

kurz zu meinem Hintergrund: Ich bin Softwareentwickler bin aber das letzte mal vor ca 10 Jahren mit Java in Kontakt gekommen. Da einer unserer Zulieferer nun auf Java umgestiegen ist, besteht meine Aufgabe zu überpüfen inwiefern seine Software in unser System integrierbar ist.

Nun zu meinem eigentlichen Problem welches ich bisher nicht so beschrieben im Internet finden konnte:

Das Softwarepaket des externen Zulieferers besteht aus einer Sammlung von .jar Files und einigen .java Sourcen die für den Zugriff auf eben diese .jars geschrieben wurden. Die meisten, habe nicht alle durchgeschaut, die .jars kann ich in eclipse einbinden und deren Struktur (Klassen, Methoden, Variablen) im Package Explorer (habs auch mit Jar Explorer probiert) betrachten.

Die .java Sourcen für den Zugriff, importieren nun genau eines dieser Packete welches die Interfaces zu den anderen Programmteilen deklariert und somit den Zugriff gewährleistet. Der Hacken an der Sache ist nun das der Inhalt genau dieses einen .jar Packetes nicht angezeigt werden kann. Lediglich die Klassennamen sind sichtbar jedoch weder Methoden, Konstruktoren oder Variablen. Ergo werden die import Anweisungen als "not resolved" markiert und ich kann darauf nicht zugreifen.

Meine Frage ist daher nun:
Kann es sich dabei um einen Fehler in der importierten .jar handeln oder gibt es Umstände die den Zugriff auf die Konstruktoren, Methoden verhindern? Konnte das Problem auch nicht mit einem selbst geschriebenen Programm reproduzieren. Für ein konstruktives Feedback wäre ich sehr dankbar oder auch Links die mir das Problem beschreiben.


Vielen Dank

dnyle
 

jgh

Top Contributor
... Sammlung von .jar Files und einigen .java Sourcen die für den Zugriff auf eben diese .jars geschrieben wurden.

mmmh, also die java-Sourcen
Code:
(XY.java)
sind sicherlich NICHT für den Zugriff auf die
Code:
 XYZ.jars
geschrieben worden, sondern sind wahrscheinlich einige der Quell-Dateien deiner
Code:
XYZ.jars
.
Und um damit richtig zu arbeiten, solltest du nur die
Code:
XYZ.jars
zum Buildpath in Eclipse adden und die Sourcen entsprechend als Sourcen
Code:
(XY.java)
bei eclipse einfügen.
 

dnyle

Mitglied
Danke schonmal für die erste Antwort. Hätte ich eventuell auch so beschreiben können, denn so mach ich es. Die Java (.java) Files wurden mir separat in die Hand gedrückt da sie vor einiger Zeit von einem internen Mitarbeiter für eben diesen Zweck entwickelt wurden. Die .jars sind hingegen vom Zulieferer.

Leider besteht momentan kein Kontakt zum Autor der .java files daher muss ich mich da gerade durcharbeiten.

Wie Du schon gesagt hast sind die externen .jars mittels Buildpath in mein Project integriert. Die .java files habe ich regulär wie jede andere in ein eclipse package gepackt und hab auch vollen Zugriff auf die Sourcen nur sind die imports halt nicht "resolveable"

z.B
Java:
import de.paket.nochnpacket.IDiesIstEinInterface

IDiesIstEinInterface ist nun in meinem ominösen .jar definiert und deklariert etc. und ich kann sie im Package Explorer auch sehen (als .class). Im Gegensatz zu den Klassen aus anderen Paketen ist da aber Schluss: Also keine Variablen, Methoden, etc. sichtbar.

Wenn ich eine dieser .class Files aus meiner .jar extrahiere und in einem weiteren Projekt einbinde erhalte ich übrigens folgende Warning:


This .class file doesn't follow the class file format specification. Please report this issue against the .class file vendor


Da setze ich momentan an...vielleicht finde ich was
 

dnyle

Mitglied
Um weitere Informationen zu meinem Problem zu geben werd ich ergänzen was mir aufgefallen ist:

Die Klassen die momentan im Fokus liegen nenne ich mal wie folgt

ComFramework.class
IComFramework.class


wobei ComFramework.class das Interface IComFramework.class implementiert.

Wie schon erwähnt kann ich ComFramework.class im Package Explorer mitsamt seiner Methoden und Variablen durchforsten bei der InterfaceKlasse ist das nicht der Fall.

unter Verwendung von javap kann ich zudem ComFramework.class ohne Fehler analysieren bei IComFramework.class erhalte ich jedoch folgende Fehlermeldung:

Error: error while reading constant pool for IComFramework.class: unexpected tag at #1 : 211

mir scheint das die IComFramework.class in irgendeiner Weise corrupted ist, auch wenn das grad ein Schuss ins Blaue ist.

Werd mich wohl mal mit dem Zulieferer in Verbindung setzen müssen und schaun ob die da Support anbieten, bzw ob und wie sie auf diese Klasse zugreifen können.

Weitere Hilfe ist natürlich gern gesehen :rtfm:
 
Zuletzt bearbeitet:

dnyle

Mitglied
Nach weiteren Nachforschungen bin ich über einen Beitrag gestoßen in dem erwähnt wird dass bei der Verwendung des Scripts ant von Apache Binärdateien beim Kopieren korrumpiert werden können. Da unser Zulieferer genau dieses System verwendet wurde mein Verdacht weiter erhärtet.

Bei Interesse hier nochmal der Eintrag den ich zu diesem Thema gefunden habe:

Ok I finally found the mistake I made. It has neither something to do with
Cayenne nor with Tomcat nor whatever. When building my project I use Ant and
I had a build file with a copy statement and a filter token expression which
was also applied to the binary class files...

http://ant.apache.org/manual/CoreTypes/filterset.html

Note: When a filterset is used in an operation, the files are processed in
text mode and the filters applied line by line. This means that the copy
operations will typically corrupt binary files. When applying filters you
should ensure that the set of files being filtered are all text files.

It tooks me quite long, original file and filtered file had exactly the same
length. There was only one different byte value...



Letztendlich ist es mir gelungen an eine andere Quelle für meine verwendeten .jars zu kommen und deren Inhalt lässt sich ohne weiteres im Jar Explorer betrachten. Sprich Konstruktoren, Methoden und Variablen sind sichtbar. Die Funktionalität werde ich aber erst testen können sobald diese .jars offiziell freigegeben sind.

Jedoch denke ich das das Kernproblem gelöst ist und dieser Thread zu den Akten gelegt werden kann.


Bis zum nächsten Problem...:D

dnyle
 
G

Gast2

Gast
Vielen Dank für deine erklärenden Posts. Habe den Thread ineteressiert verfolgt. An solchen Problemen kann man sich mitunter ganz schön die Zähne ausbeißen!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Kein Zugriff auf microSD Karten Allgemeine Java-Themen 4
T JNI: kein Zugriff auf VM in Callback-Methode eines Windows-Hooks Allgemeine Java-Themen 3
D Kein Zugriff auf WebService ausser localhost Allgemeine Java-Themen 4
Haave Audio Device Unavailable: Kein gleichzeitiger Zugriff auf Soundsystem möglich Allgemeine Java-Themen 7
J Kein Zugriff auf Klassen im Default Package Allgemeine Java-Themen 8
A Dateistatus abfragen und Datei löschen sobald kein Zugriff Allgemeine Java-Themen 7
Zrebna SonarLint: Warum kein Null-Referencing-CodeSmell-Hint hier? Allgemeine Java-Themen 23
M Kein Scanner Fehler durch falsche EIngabe Allgemeine Java-Themen 4
I OpenPDF (ehem. iText) will kein PDF mit CMYK only erzeugen Allgemeine Java-Themen 6
A Kein Online-Zugang mögl.! Allgemeine Java-Themen 4
D kein Versand von Mails mit Anhang mehr Allgemeine Java-Themen 2
D Best Practice Gesamten Bildschirminhalt auslesen und Email schicken sobald kein Pixel sich ändert Allgemeine Java-Themen 11
R Warum kein throw? Allgemeine Java-Themen 3
W String Parsen und auf eigenes Muster anwenden (kein Regex) Allgemeine Java-Themen 11
A Datentypen Long.valueOf liefert kein "L" am Ende Allgemeine Java-Themen 3
B Input/Output Server Startet, Jedoch Kein Output. Allgemeine Java-Themen 1
B NullPointerException - Aber kein Fehler im Code Allgemeine Java-Themen 4
Guybrush Threepwood Kein user.home unter Windows8 Allgemeine Java-Themen 7
127.0.0.1 SQL Exception, kein Driver Allgemeine Java-Themen 9
Z Concurrent Modification Exception - HashMap (kein remove) Allgemeine Java-Themen 4
S Schnell eine fortlaufende nummer erzeugen SQL, kein Primkey Allgemeine Java-Themen 8
P Mail wird nicht gesendet - Muss ich kein PW angeben ? Allgemeine Java-Themen 13
G RegEx kein Unterstrich Allgemeine Java-Themen 2
E kein doppelter Programmaufruf Allgemeine Java-Themen 3
reibi Workspace schon geöffnet (Kein Eclipse Thema) Allgemeine Java-Themen 14
H Bestimmten String mit Pattern und Matcher herauslesen => kein erfolg Allgemeine Java-Themen 9
Z Boolean Abfrage gibt kein Boolean zurück, aber warum? Allgemeine Java-Themen 6
T GregorianCalendar - kein Februar Allgemeine Java-Themen 6
0 kein Java unter Server 2008 ? Allgemeine Java-Themen 3
I kann JAVA kein Mathe? Allgemeine Java-Themen 10
F Threading oder kein Threading - das ist hier die Frage. Allgemeine Java-Themen 23
V FileWriter und Zahlen (Kein Problem, nur Verständnisfrage) Allgemeine Java-Themen 4
T Problem, warum macht der das so(finde kein titel.) Allgemeine Java-Themen 3
K Kein schließendes Tag bei leerem Element mit JDOM Allgemeine Java-Themen 8
D Ich ikann kein Java-Programm starten Allgemeine Java-Themen 10
B Ausführungsproblem: admin, kein admin Allgemeine Java-Themen 2
E Warum kein Import? Allgemeine Java-Themen 3
L Kein Ausführen möglich Allgemeine Java-Themen 3
A Kein finally ausführen trotz verlassen des try blocks? Allgemeine Java-Themen 14
egrath Anonyme Methode - warum hier kein Compilerfehler Allgemeine Java-Themen 2
D kann kein java installieren Allgemeine Java-Themen 2
S Kein Sound in Java Applets unter Win 9x Allgemeine Java-Themen 4
P kein sound bei freenet spielen Allgemeine Java-Themen 2
K Scanner.hasNext findet kein Ende Allgemeine Java-Themen 6
K Problem mit Vererbung - Kein wirklicher Nutzen. Allgemeine Java-Themen 10
Redfrettchen addAll verwendet kein Iterator? Allgemeine Java-Themen 8
P Eclipse: Kein Fehler beim Debuging aber beim normalen run Allgemeine Java-Themen 3
T Feststellen ob kein extra Thread läuft Allgemeine Java-Themen 10
U Versions-Konfusion: Ist long kein object? Allgemeine Java-Themen 3
M DOS-Shell kennt kein CP850!! Allgemeine Java-Themen 2
D Kein public Konstruktor Allgemeine Java-Themen 4
LucasGlockner Effizienter byte-Zugriff auf ein long[]-Array Allgemeine Java-Themen 8
W Klassen Zugriff auf ein Textfile aus allen Klassen. Allgemeine Java-Themen 2
izoards Zugriff auf gemeinsame Ressource (CSV-File) Allgemeine Java-Themen 3
S Java Zugriff auf Netzwerklaufwerk Allgemeine Java-Themen 1
sascha-sphw Java 9 module Zugriff auf eine resource einer anderen JAR Allgemeine Java-Themen 0
KeexZDeveoper Zugriff auf Methoden vom Server Allgemeine Java-Themen 7
O Zugriff auf mySQL ohne JDBC Allgemeine Java-Themen 3
P Element einer Liste wurde hinzugefügt, aber es gibt keinen Zugriff Allgemeine Java-Themen 2
B Maven Zugriff auf files aus einem kompilierten jar Allgemeine Java-Themen 15
S Zugriff auf jUnit Test Suite Runner-Instanzen innerhalb von Test Classes Allgemeine Java-Themen 7
W Zugriff auf Objektvariablen vs. Übergabe Allgemeine Java-Themen 3
J Zugriff auf erstellte Objekte einer Klasse von einer Klasse ausserhalb Allgemeine Java-Themen 3
Tommy Nightmare HTTP Zugriff auf Internetseite im Loginbereich Allgemeine Java-Themen 5
H Zugriff auf PHP Allgemeine Java-Themen 4
B DB-Zugriff einer Webanwendung funktioniert nicht mit Java 7 Allgemeine Java-Themen 2
M WebService - Zugriff auf Webservice Methode über Browser Allgemeine Java-Themen 1
O JNA Zugriff auf Funktion aus DLL Allgemeine Java-Themen 0
O Zugriff auf Windows Zertifikatstore Allgemeine Java-Themen 2
T Zugriff auf Datenbank Allgemeine Java-Themen 1
J Zugriff auf IMAP GMail Konto scheitert. Allgemeine Java-Themen 2
P Frontend- Zugriff auf WS- Backend Allgemeine Java-Themen 0
U Zugriff auf Datei sperren Allgemeine Java-Themen 5
N Best Practice Semi-Synchronized Zugriff Allgemeine Java-Themen 0
C Zugriff auf Event felder Allgemeine Java-Themen 0
M Threads synchroner Zugriff (add/delete/read) auf eine Liste Allgemeine Java-Themen 6
F Zugriff Verweigert bei Kopieroperation? Allgemeine Java-Themen 4
S Dynamischer Zugriff Allgemeine Java-Themen 4
Minonos Einem Programm Zugriff auf bestimmte Ordner geben Allgemeine Java-Themen 5
E Zugriff auf Dateien im Filesystem überwachen Allgemeine Java-Themen 5
H Programierstil: static - Zugriff vs. Staticzugriff Allgemeine Java-Themen 24
V Zugriff auf den Objekterzeuger? Allgemeine Java-Themen 4
M Zugriff zweier Threads auf diesselbe Methode Allgemeine Java-Themen 16
B Zugriff auf eine HashMap Allgemeine Java-Themen 4
B JApplet Zugriff auf Local Storage des Browser? Allgemeine Java-Themen 2
D Zugriff auf Array-Liste Allgemeine Java-Themen 19
M gleichzeitiger Zugriff auf eine Textdatei Allgemeine Java-Themen 6
B synchronisierter zugriff auf Objekt Allgemeine Java-Themen 6
nutellastulle Zugriff, Übergabe, Bearbeitung und Ausgabe von Jlist Allgemeine Java-Themen 6
U Große Liste von Strings mit indiziertem Zugriff Allgemeine Java-Themen 31
J XML Element Zugriff Allgemeine Java-Themen 4
P Daten kopieren mit nio - Zugriff verweigert Allgemeine Java-Themen 8
M Klassen Zugriff auf getMethode ohne Klasse zu erzeugen Allgemeine Java-Themen 6
A Input/Output Applet-Zugriff auf PHP-Schnittstelle (externer Server) Allgemeine Java-Themen 22
H Vererbung Abgeleitete Klassen und Zugriff Allgemeine Java-Themen 2
C Probleme mit dem Zugriff auf private Methode per reflection Allgemeine Java-Themen 2
J Zugriff auf Poker-Client Fenster Allgemeine Java-Themen 14
C Zugriff auf private Methode per reflection geht nicht mehr Allgemeine Java-Themen 3
S Zugriff auf innere Klasse Allgemeine Java-Themen 3
Sonecc Zugriff auf Class File einer anderen Jar während der Laufzeit Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben