Verschiedene Jar Versionen nutzen

roadrunner87

Mitglied
Hallo,
ich habe zwei Eclipse Projekte.

In dem einem (nicht von mir) wird jdom als lib genutzt.

Ich selber (in meinem Projekt) benötige jetzt ebenfalls diese jdom lib (für rss) aber in der Version 1.0.
Nun entsteht aber ein konflik zwischen den beiden Versionen.

Könnt ihr mir dabei helfen?
Danke
 

Gossi

Bekanntes Mitglied
Rechtsklick auf das Projekt -> Properties -> Java Build Path -> Lib hinzufügen sollte funktionieren, hab bei mir auch Java 1.5 und java 1.6 Programme laufen
 
I

irgendjemand

Gast
also diese diskusion halte ich für kompletten schwachsinn

"ich habe Java5.0 und Java6 apps laufen" ...

du weist schon das man ALLE class-Files einer älteren VM auch mit der aktuellen version ausführen kann oder ? die einzige beschränkung ist umgekehrt : du kannst keine class-Files ausführen welche mit einer höheren VM compiled wurden ...

heißt : du solltest deine apps auch mit J7 ausführen können *falls nicht liegt es am code selbst und dafür sollte man den entwickler schlagen ...*


bei libs ist das ganze etwas ... sagen wir mal : willkürlicher ...

in der regel erweitert man lediglich und makiert nicht mehr verwendete dinge als obsolet / deprecated ... dementsprechend solltest du mit einer neueren version einer lib auch alles das tun können was mit der alten möglich war ... ansonsten gilt das selbe wie bei den vm-versionen : man sollte entwickler dafür schlagen wenn eine lib oder eine ganze app nach OBEN hin begrenzt wird *also solche lustigen hinweise wie : maximal Java5.0 ... oder max. Lib v3.x ... dann hat jemand ziemlich gepennt was das grundkonzept von Java angeht*
 

Gossi

Bekanntes Mitglied
heißt : du solltest deine apps auch mit J7 ausführen können *falls nicht liegt es am code selbst und dafür sollte man den entwickler schlagen ...

Es ist aber nunmal so, dass wir zum Teil probleme mit unseren Kunden haben, die sehen es nicht ein, dass man Java vielleicht mal updaten sollte, somit müssen wir für extern Code in Java 1.5 entwickeln und für intern Java 1.6 (wahrscheinlich noch bis zum Frühjahr, dann sollen die auf Java 1.7 umgestellt werden...

Also, entschuldigung wenn das beileidigend oder so rüber kommen sollte, sei also vorsichtig mit solchen Aussagen.
 

roadrunner87

Mitglied
Das mit der Java Version funktioniert ja auch wunderbar (ist ja Java).
Habe nur Probleme mit dem jdom (Packet org.jdom).

In dem einem Projekt ist jdom < 1.0 vorhanden in meinem Projekt aber jdom 1.0.
Jetzt findet er natürlich die Methoden nicht, welche herausgefolgen sind (auch kein obsolet / deprecated) vorhanden (leider, da habe ich mich auch schon gewundert).

Nun suche ich eine Möglichkeit das erste Projekt mit der alten laufen zu lassen und meines mit der neuen version. Ich suche einen Weg dem einen Projekt zu sagen hier findest du die jdom.jar und meinem Projekt möchte ich sagen hier findest du die jdom1.0.jar.

Gibt es da was.
 

Kevin94

Top Contributor
Geht nicht. Da bräuchtest du zwei gleichzeitig laufende JVM's mit unterschiedlichen Classpaths, die dann z.B. über RMI kommunizieren. Du kannst ja nicht zwei mal die selbe Klasse laden. Pro JVM existiert immer nur eine geladene Version einer Klasse. Also wenn du keine Klasse nutzt die in der anderen Version benutzt wird könnte es mit URLClassLoader gehen, aber das wird wohl kaum der Fall sein.
 

Empire Phoenix

Top Contributor
was geht, hol dir den sourcode von deiner jdom, und benenne das package um, zb in *.jdomneu.*
Dann kannste das lösen indem du explizit nur Klassen aus dem neuen package bei dir importierst.

Bei übergaben musste dir dann nen Converter zwischenkleben, der die neue in alte übersetzt um umgedreht an der Schnittstelle.
 
I

irgendjemand

Gast
nun ... da der offizielle support von Java5.0 bereits eingestellt wurde würde ich mich einfach weigern damit noch überhaupt zu arbeiten ...
wenn der kunde sich stur stellt und nicht updaten will sollte man ihn mal über die risiken der alten und die vorteile der neuen version aufklären ... aber einige begreifen sowas ja nicht .... argumentieren mit einem angeblich unüberschaubaren aufwand und in den IT-abteilungen gäbe es eh ganz andere , viel wichtigere dinge zu tun ... wobei gerade solche software-updates einen hohen stellenwert haben sollten ... und verbreiten dann über einen ein schlechtes image nur weil man lieber mit aktuellen versionen arbeitet und aus bestimmten gründen die arbeit mit einer solch obsoleten version eingestellt hat ...

aber naja ... der westen nennt sowas ja "freie" marktwirtschaft ... *wer es glaubt ... pff*

das ganze war ja noch nicht mal gegen euch persönlich gerichtet ... aber ich kann es einfach nicht verstehen ...

zu den libs : tja ... wenn der dev der lib so lustig war und entgegen der java-konventionen einfach obsolete klassen , methoden oder objekte löscht ... anstatt diese richtigerweise als deprecated zu makieren und für ordentlichen ersatz zu sorgen ... dann wäre es für mich ein grund die lib zu wechseln ...
wer weis ... vielleicht kommt ja mal eine version mit der dann keines deiner beiden projekte mehr funktioniert ... ziemlich umständlich und ganz sicher nicht im sinne der annotation DEPRECATED

da deine frage also so spezifisch auf eine lib bezogen ist solltest du dich lieber beim dev melden das er die konventionen mal ordentlich auf die reihe bekommt anstatt hier nach nem *meiner meinung nach* ziemlich finsteren hack zu fragen ...
klar ist es erstmal das einfachste was du tun kannst ... so lange du zugriff auf den source hast ... aber dann könntest du auch genau so gut beide versionen mergen so das du EINE lib für BEIDE projekte verwenden kannst ...

ggf solltest du auch in erwägung ziehen das projekt welches die alte version benötigt so umzuschreiben das es mit der neuen version arbeitet *wobei eigentlich nichts der gleich nötig sein sollte wenn wie gesagt der dev der lib anständig nach den java-konventionen arbeiten würde* ...
 

Michael...

Top Contributor
Es geht doch erst einmal um Eclipse?
Wenn ich das richtig verstanden habe existieren zu den zwei Anwendungen zwei getrennte Eclipse Projekte.
Zu jedem Eclipse Projekt kann man unabhängig von anderen Projekten im Build Path die zu referenzierenden externen libs festlegen. Somit kann man in den einen Projekt libA1.jar und im anderen Projekt libA2.jar referenzieren, ohne dass es Auswirkungen auf das jeweils andere Projekt hat.

Also so wie Gossi bereits im ersten Post beschrieben hat.
 

Gossi

Bekanntes Mitglied
nun ... da der offizielle support von Java5.0 bereits eingestellt wurde würde ich mich einfach weigern damit noch überhaupt zu arbeiten ...
wenn der kunde sich stur stellt und nicht updaten will sollte man ihn mal über die risiken der alten und die vorteile der neuen version aufklären ... aber einige begreifen sowas ja nicht ...

Wenn dein Kundenstamm aber aus > 4000 Apotheken besteht, ohne IT-Abteilung :D
 

MarderFahrer

Gesperrter Benutzer
wenn der dev der lib so lustig war und entgegen der java-konventionen einfach obsolete klassen , methoden oder objekte löscht ... ... ziemlich umständlich und ganz sicher nicht im sinne der annotation DEPRECATED

Naja, the definition von Deprecated sagt u.a:

"Although deprecated features remain in the software, their use may raise warning messages recommending alternative practices, and deprecation may indicate that the feature will be removed in the future."

Es ist also nicht zwingend notwendig einmal eingeführte Methoden "für immer" in der Codebase mitzuschleifen auch wenn sie längst nicht mehr benutzt werden sollen.

Ebenfalls ist es ja gut möglich, dass die Version 0.9 eine gewisse Methode implementiert, die etwas ganz spezielles macht. Und nun haben sich die Entwickler eben eine neue Art überlegt, dies zu lösen. Nur das diese neue Art in der Version 1.0 nicht mehr verwendbar ist in diesem speziellen Fall. Aus diesem Grund kann nur die lib bis Version 0.9 benutzt werden weil ein Umstieg auf 1.0 einen erheblichen mehraufwand bedeuten würde, nur um das Programm wieder lauffähig zu bekommen. Und wenn die neue Version keinerlei zwingend notwendige Bug- oder Security Fixes beinhaltet und noch dazu keine nennenswerten neuen Features mitbringt, ist es nur logisch wenn man auch weiterhin mit der Version 0.9 arbeitet.

Also bei uns wird nicht auf alle 3rd Party Projekte geschielt ob sie mit einer neuen Version rausgekommen sind nur um die dann unbedingt auch in unseren Projekten einzusetzen. Wenn es ein Security Problem gibt und man besser die neueste Version nebst Patch nutzen sollte, so teilt man uns das mit und dann wird evaluiert in wie fern ein upgrade möglich ist. Aber pro forma upgraden nur des upgrades Willen ist da nicht drin.
 
I

irgendjemand

Gast
hmm ... dann würde ich genau den zur verantwortung ziehen der daran schuld ist das da überhaupt Java5.0 verwendet wird ... was ja sicherlich dann doch irgendeine zentrale *oder zumindest regionale* stelle sein sollte die unter der aufsicht irgendeines konzernes oder sonstiger kontroll-instanz steht ...
anderst wäre es nicht erklärbar das du schlappe 5000 kunden hast die zufällig ... aber auch nur rein zufällig die selbe uralte java-version verwenden *plus/minus ein oder zwei updates* ...
 

Michael...

Top Contributor
nun ... da der offizielle support von Java5.0 bereits eingestellt wurde würde ich mich einfach weigern damit noch überhaupt zu arbeiten ...
wenn der kunde sich stur stellt und nicht updaten will sollte man ihn mal über die risiken der alten und die vorteile der neuen version aufklären ... aber einige begreifen sowas ja nicht ....
Das kann man mit manchen Kunden vielleicht diskutieren. Bei uns (ca. 100.000 Mitarbeiter) läuft auf ca. 80% der Rechner nur Java 1.5 und im letzten Jahr lief auf vielen Rechner nur Java 1.4 oder 1.3. Den Software Entwickler möchte ich sehen, der mir bei dem Auftragsvolumen vorschreiben will Java 1.6 zu nutzen ;-) ... ich bin auch nicht unbedingt begeistert, aber so ist die Realität.

Aber welche Java Versionen genutzt werden sollte, war ja nicht unbedingt Thema dieses Threads.
 
I

irgendjemand

Gast
hmm .. same-time-post

aber meinst du nicht das wenn du ein major-verison-update von 0.9 auf 1.0 hast das alleine schon aussagt das ein erheblicher teil der lib geändert wurde ?

klar sagt deprecated nicht das man jetzt einen code einer frühen alpha oder beta auch noch in der 5. final mitschleppen muss ... aber man sollte es zumindest rechtzeitig erwähnen ...

es ist ja noch nicht mal allein um des updates willen ... aber entweder passt man *wenn möglich* die apps so an dass diese mit mehreren verschiedenen lib-versionen laufen oder die lib so das sie für alle verwendeten apps einsetzbar ... aber für verschiedene apps die selbe lib in unterschiedlichen versionen ... das würde mir zu weit gehen ...
 

Gossi

Bekanntes Mitglied
hmm ... dann würde ich genau den zur verantwortung ziehen der daran schuld ist das da überhaupt Java5.0 verwendet wird ... was ja sicherlich dann doch irgendeine zentrale *oder zumindest regionale* stelle sein sollte die unter der aufsicht irgendeines konzernes oder sonstiger kontroll-instanz steht ...

Nein, aber viele sehen es halt so:
Mein Rechner läuft und ich bin (das ist unser Problem) Teilinhaber meines Dienstleisters, also soll er gefälligst seine Programme so schreiben, dass ich sie benutzen kann.

Kleine Anmerkung dazu:
Der Gesellschafter unserer Firma ist ein Apothekenverein, die Mitglieder dieses Vereins sind allerdings unsere Kunden, also dürfen uns unsere Kunden rein theoretisch alles vorschreiben was wir tun sollen, bzw. wie.

Aber welche Java Versionen genutzt werden sollte, war ja nicht unbedingt Thema dieses Threads.

Danke :applaus:
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Verschiedene Java Versionen nutzen Java Basics - Anfänger-Themen 6
GoldenShadow Input/Output Verschiedene Versionen von Input/Output Java Basics - Anfänger-Themen 3
S verschiedene Versionen Java Basics - Anfänger-Themen 2
I 2 verschiedene Klassen mit gleichen Property vergleichen Java Basics - Anfänger-Themen 13
N Verschiedene Konstruktoren mit gleichen Datentypen Java Basics - Anfänger-Themen 8
Buroto Threads Verschiedene .txt Dateien Auf Listen und Verbinden Java Basics - Anfänger-Themen 3
S OOP Java Eingabe in verschiedene Datenbank Tabellen eintragen Java Basics - Anfänger-Themen 7
I SWT Plattformunabhängig laden - verschiedene SWT .jar laden Java Basics - Anfänger-Themen 0
T Java FXML selbes Fenster verschiedene Stellen im Programm Java Basics - Anfänger-Themen 5
D Zwei verschiedene Intellij Projekte, wie benutze ich wechselseitig objekte Java Basics - Anfänger-Themen 8
K verschiedene Eingaben sortieren Java Basics - Anfänger-Themen 6
W Verschiedene Methoden in einer Klasse in der Main aufrufen? Java Basics - Anfänger-Themen 8
W n verschiedene Arrays zufällig ausgeben - mit der Random-Klasse? Java Basics - Anfänger-Themen 8
S Objekte von zwei klassen in zwei verschiedene Textdateien schreiben Java Basics - Anfänger-Themen 5
T for-each-Schleife, verschiedene Datentypen Java Basics - Anfänger-Themen 1
HoT verschiedene ArrayLists mit ähnlichem Namen in for-Schleife aufrufen Java Basics - Anfänger-Themen 3
FelixN Array mit verschiedene Datentypen als Rückgabewert? (Long und Double) Java Basics - Anfänger-Themen 3
T Vererbung Verschiedene Attribute für vererbte Klassen Java Basics - Anfänger-Themen 4
M JavaFX- Verschiedene Stages Java Basics - Anfänger-Themen 1
B Get / Set - Methode für verschiedene Entities? (generisch) Java Basics - Anfänger-Themen 21
L Wie Input auf verschiedene Kriterien hin überprüfen? Java Basics - Anfänger-Themen 3
T Vererbung Verschiedene Fahrzeugtypen mit unterschiedlicher Ausgabe Java Basics - Anfänger-Themen 17
C Verschiedene Objekte in einer Liste speichern Java Basics - Anfänger-Themen 6
F Komplexe Zahlen auf verschiedene Weise addieren Java Basics - Anfänger-Themen 18
N verschiedene Reihenfolgen ausgeben Java Basics - Anfänger-Themen 15
M Dijkstra Algorithmus in Graphen auf mehrere verschiedene Knoten anwenden lassen Java Basics - Anfänger-Themen 11
Java The Hutt SetWerte über verschiedene Klassen Java Basics - Anfänger-Themen 16
M Verschiedene Eingabe = Verschiedene Ausgaben Java Basics - Anfänger-Themen 5
M Erste Schritte Mit Variable verschiedene Texte in Textfeld einfügen Java Basics - Anfänger-Themen 27
T Datentypen Kann Java 2 verschiedene Datentypen vergleichen? Java Basics - Anfänger-Themen 2
B String auseinander nehmen in verschiedene Teile Java Basics - Anfänger-Themen 9
X Variablen Problem bei Aufteilung in verschiedene Class-Files Java Basics - Anfänger-Themen 4
E JAvaFX: Verschiedene Panels nach Klick auf Node des TreeView anzeigen Java Basics - Anfänger-Themen 0
T Java verschiedene Anweisungen Java Basics - Anfänger-Themen 23
W Verschiedene Bibliotheken in einer Anwendung? Java Basics - Anfänger-Themen 2
tuc Erste Schritte verschiedene objekte in einem feld speichern Java Basics - Anfänger-Themen 4
L Verschiedene Bilder per Knopfdruck anzeigen lassen Java Basics - Anfänger-Themen 17
J ArrayList über verschiedene Klassen verwenden Java Basics - Anfänger-Themen 7
P Erste Schritte durch MenuBar verschiedene Fenster öffnen Java Basics - Anfänger-Themen 2
G Datentypen verschiedene Objekte in eine ArrayList, Generics Java Basics - Anfänger-Themen 2
I Drucken in Java / verschiedene Papierformate Java Basics - Anfänger-Themen 0
Z Was habe ich davon mit einem Datentyp verschiedene Instanzen zu haben? Java Basics - Anfänger-Themen 6
S write(), weshalb verschiedene Ausgaben? Java Basics - Anfänger-Themen 4
E Erste Schritte Verschiedene Anfängerfragen (Rekursion, Terminierung, Schleife, etc.) Java Basics - Anfänger-Themen 5
I String trennen und verschiedene Wörter holen Java Basics - Anfänger-Themen 6
B Verschiedene Objekte in 2 dimensionalem Array speichern Java Basics - Anfänger-Themen 10
S Datei ausführen, verschiedene Ordner Java Basics - Anfänger-Themen 2
O Verschiedene Farben in einer GUI Java Basics - Anfänger-Themen 15
R Klassen Mehrere/Verschiedene Objekte umcasten Java Basics - Anfänger-Themen 8
N Vererbung Verschiedene Subclasses nach cast zur Superclass unterscheiden Java Basics - Anfänger-Themen 9
D Verschiedene Fragen zu meinem Projekt Java Basics - Anfänger-Themen 6
S textPane verschiedene formatierungen Java Basics - Anfänger-Themen 8
K Verschiedene JDK´s paralell nutzen? Java Basics - Anfänger-Themen 3
M Verschiedene Möglichkeiten mit 'equals' abdecken? Java Basics - Anfänger-Themen 9
H 2 verschiedene Objekte in Liste mit Compareable sortieren Java Basics - Anfänger-Themen 7
G Erste Schritte Über verschiedene Datentypen iterieren. Gibt es sowas? Java Basics - Anfänger-Themen 19
N Verschiedene Klassen als Parameter elegant übergeben? Java Basics - Anfänger-Themen 4
X Listen und verschiedene Methoden Java Basics - Anfänger-Themen 6
B Zwei verschiedene Daten vergleich Java Basics - Anfänger-Themen 2
K Input/Output Verschiedene Ordner für Java u.v.m. Projekte Java Basics - Anfänger-Themen 3
G Umwandlung in verschiedene Zahlensysteme Java Basics - Anfänger-Themen 4
D Umgebungsvariable verschiedene Werte von JAVA_HOME? Java Basics - Anfänger-Themen 4
J verschiedene Anweisungen bei verschiedenen Zuständen Java Basics - Anfänger-Themen 9
F Info zwischen verschiedene Klassen austauschen Java Basics - Anfänger-Themen 4
R Input/Output verschiedene Datentypen als Bytes in Datei speichern Java Basics - Anfänger-Themen 15
Blindxantos Klassen in verschiedene Packages unterteilen Java Basics - Anfänger-Themen 2
F verschiedene Daten abspeichern Java Basics - Anfänger-Themen 13
N Verschiedene JFrames in einem JFrame anzeigen Java Basics - Anfänger-Themen 7
A Datentypen Verschiedene Threads synchronisieren Java Basics - Anfänger-Themen 3
D Mehrere verschiedene Farben pro fillRect Java Basics - Anfänger-Themen 3
M Verschiedene Werte in methoden Java Basics - Anfänger-Themen 3
K Verschiedene (Thread) Objekt-Positionen (int) in einem Array zusammenfassen Java Basics - Anfänger-Themen 3
J Verschiedene Rückgabetypen(int int char) Java Basics - Anfänger-Themen 10
S Datentypen Die verschiedene Java Datentypen [Anfänger] Java Basics - Anfänger-Themen 8
J OOP verschiedene Objekttypen ablegen Java Basics - Anfänger-Themen 4
B Welcher Feld Typ für verschiedene Datentypen? Java Basics - Anfänger-Themen 4
capgeti Verschiedene Rückgabetypen ohne Typecast möglich? Java Basics - Anfänger-Themen 7
S Verschiedene Arrays über Index aufrufen Java Basics - Anfänger-Themen 5
Developer_X in JEditorPane verschiedene Farben, verwenden Java Basics - Anfänger-Themen 7
C verschiedene Label auf Knopfdruck abrufen Java Basics - Anfänger-Themen 4
L Verschiedene Fonts für verschiedene Dialogelemente Java Basics - Anfänger-Themen 2
G Verschiedene Packages Java Basics - Anfänger-Themen 3
G Daten in verschiedene Listen schreiben Java Basics - Anfänger-Themen 5
C Zustandsanzeige durch verschiedene Klassen Java Basics - Anfänger-Themen 4
G Verschiedene Exceptions zu gleichem Block Java Basics - Anfänger-Themen 6
T verschiedene Anfängerfragen Java Basics - Anfänger-Themen 20
J Verschiedene Ausgaben bei gleichen Ausdrücken (Typecasting?) Java Basics - Anfänger-Themen 5
N Verschiedene Input/Output Klassen Java Basics - Anfänger-Themen 3
G verschiedene datentypen in arraylist Java Basics - Anfänger-Themen 14
L verschiedene JPanel-Instanzen erstellen Java Basics - Anfänger-Themen 8
L 2 verschiedene Typen in einer Tabelle ablegen Java Basics - Anfänger-Themen 18
N Problem mit Tastatureingaben für verschiedene Datentypen Java Basics - Anfänger-Themen 3
L verschiedene formuare in einem fenster öffnen Java Basics - Anfänger-Themen 8
I Array für verschiedene Datentypen? Java Basics - Anfänger-Themen 5
R verschiedene dateitypen öffnen Java Basics - Anfänger-Themen 5
L verschiedene zeichen einlesen Java Basics - Anfänger-Themen 5
C 2 verschiedene Tables = 2 verschiedene Renderer ? Java Basics - Anfänger-Themen 5
S mit Buttons verschiedene Bilder laden Java Basics - Anfänger-Themen 4
S klassen in verschiedene Dateien Java Basics - Anfänger-Themen 5
3 Verschiedene Fragen (bin neu hier) Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben