Inkompatibilität meiner RCP Anwendung zwischen JAVA 1.5 & JAVA6

Status
Nicht offen für weitere Antworten.

SaSa83

Neues Mitglied
Hallo,

ich bin neu hier und habe gleich mal eine Frage.
Ich habe ein Plugin, das nur ein Satz von JARs enthält (com.xyz.lib)
Und ein Plugin, dass eine Eclipse RCP Anwendung enthält (com.xyz.core) und das com.xyz.lib nutzt.

Nun zu meinem Problem.
Meine Eclipse RCP Anwendung soll ab JAVA 1.5 (Vorgabe vom Chef) funktionieren. Da JAVA 1.5 jedoch die Stax API noch nicht hat habe ich ich eine JAR eingebunden (im lib projekt), welche die Klassen javax.xml.stream.* enthält.

Soweit so gut. Wenn ich nun jedoch meine Applikation unter JAVA 1.6 ausführe tritt ein LinkageError auf. Natürlich: Weil die Klasse die das Eclipse Framework laden will (die aus dem JRE6) nicht identisch mit der Klasse aus meiner JAR ist:

loader constraint violation: when resolving method "com.ctc.wstx.stax.WstxOutputFactory.createXMLStreamWriter(Ljava/io/OutputStream;Ljava/lang/String;)Ljavax/xml/stream/XMLStreamWriter;" the class loader (instance of org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader) of the current class, com/stegmannsystems/aps/desktop/singlemedia/ImageMetadataIO, and the class loader (instance of org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader) for resolved class, com/ctc/wstx/stax/WstxOutputFactory, have different Class objects for the type javax/xml/stream/XMLStreamWriter used in the signature


Ich habe gehört es soll irgendwie möglich sein JARs nur unter bestimmten Bedingungen einzubinden (zB JAVA Version < 6).
Weiß hier jemand wie das geht? Ich google schon seit 3 Stunden ohne eine Lösung zu finden.

Das soll man irgendwie mit Features machen können, welche nur unter bestimmten Vorraussetzungen mit geladen werden. Mehr weiß ich leider nicht.
 

foobar

Top Contributor
Ja, du könntest dir ein Feature für Java 1.5 und eins für 1.6 machen. In dem Feature kannste unterschiedliche Bundles zur Verfügung stellen.
Wenn du nicht direkt ein Bundle als Abhängigkeit angeben willst, kannste auch einfach die Klassen importieren.
 

Wildcard

Top Contributor
Ich würde ein PlugIn Fragment empfehlen in das du die Bibliothek packst und das Fragment schreibt eine konkrete Java Version vor.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S XMI Datensatz in RAP Anwendung nutzen Plattformprogrammierung 2
Z MySQL-Treiber in RAP-Anwendung für Jetty im OSGI- Equinox- Maven-Dschungel Plattformprogrammierung 0
J Probleme mit Toolbar Konfiguartion in e4 Anwendung. Plattformprogrammierung 0
P Artifact-Editor in RCP-Anwendung Plattformprogrammierung 14
D Action von RCP-Anwendung extern aufrufen Plattformprogrammierung 4
S Wie lauffähige .jar-Datei mit Netbeans für Java3D Anwendung erstellen? Plattformprogrammierung 8
N Was brauche ich für eine Web- und was für eine Fat-Client-Anwendung? Plattformprogrammierung 14
M Unter welchem Benutzer läuft eine RCP-Anwendung? (Windows-Berechtigungsproblem) Plattformprogrammierung 7
G RCP Die Anwendung {0} konnte nicht in der Registry gefunden werden. Plattformprogrammierung 3
K OSGi Verteilte Anwendung? Plattformprogrammierung 9
dzim RCP Überführen einer RCP-Anwendung nach RAP Plattformprogrammierung 11
E eclipse RCP Anwendung programmatisch / aus einem anderen Programme starten? Plattformprogrammierung 8
J RCP-Anwendung aus EMF erzeugen und vor allem danach modifizieren Plattformprogrammierung 11
S RCP Anwendung nicht weiterladen bei Exception in Plugin Plattformprogrammierung 2
K Bild Problem in exportierter RCP Anwendung Plattformprogrammierung 5
K Log4j in Eclipse RCP Anwendung Plattformprogrammierung 5
R Eclipse RCP Anwendung per Web start verteilen Plattformprogrammierung 23
dzim Eclipse 3.5: p2 in eigener Anwendung Plattformprogrammierung 11
H Visueller Editor für Eclipse RCP Anwendung Plattformprogrammierung 3
B Bildbearbeitung in Eclipse-RCP-Anwendung Plattformprogrammierung 8

Ähnliche Java Themen

Neue Themen


Oben