Compiler-Befehl zum "nicht beachten" von Code

Status
Nicht offen für weitere Antworten.

Eifelente

Mitglied
Ich habe folgendes Problem:
Ich habe ein Programm geschrieben, dass unter Java 1.6 wunderbar läuft, jedoch unter 1.5 nicht lauffähig ist, weil bestimmte Klassen fehlen oder manche Features noch nicht bekannt sind.

Gibt es eine Möglichkeit, dass Programm unter 1.5 zum laufen zu bekommen, wenn ich alles, was unter 1.5 noch nicht bekannt ist irgendwie abgrenze?

Schon mal ein Beispiel, wie es nicht geht :wink:
Code:
      if (System.getProperty("java.version").compareTo("1.6.0")>=0)
        {
        	javax.swing.table.TableRowSorter<DefaultTableModel> urlSorter 		
        		= new javax.swing.table.TableRowSorter<DefaultTableModel>();
        	urlSorter.setModel(urlTableModel);
        	urlTable.setRowSorter(urlSorter);
            urlSorter.setSortable(2,false);
            urlSorter.setSortable(3,false);
        }

Der Compiler von 1.5 will immer noch den Quelltext in der if-Anweisung compilieren obwohl ihn ein 1.5er Programm nie erreichen würde.
 

Der Müde Joe

Top Contributor
ja das geht....stell den compiler auf 1.5 runter...wenns im compilieren keine Fehler
gibt, läufts dann unter 1.5+
 
G

Gast

Gast
nein das geht nicht, müsstest dann schon eine extra klasse machen die du dann entsprechend lädst
 
G

Guest

Gast
Der Müde Joe hat gesagt.:
ja das geht....stell den compiler auf 1.5 runter...wenns im compilieren keine Fehler
gibt, läufts dann unter 1.5+

das geht ja grade nicht weil der code nicht 1.5 kompatibel ist
 

Der Müde Joe

Top Contributor
darum ja eben....wenns im compilieren keine Fehler
gibt, läufts dann unter 1.5+

impliziert wenn es nicht kompiliert wohl eher nicht
 

Eifelente

Mitglied
Das ist ja mein Problem:
Der Code läuft unter 1.5 nicht.
Er würde laufen, wenn der Compiler den Text innerhalb der if-Anweisung überspringen würde...
 

Saxony

Top Contributor
Gast hat gesagt.:
nein das geht nicht, müsstest dann schon eine extra klasse machen die du dann entsprechend lädst

Yep das müsste gehen - zur Laufzeit bestimmen welche Java Version da ist und dann per Reflection MyClass_15 oder MyClass_16 laden.

bye Saxony
 

sparrow

Top Contributor
System.getProperty("java.version") wird erst zur Laufzeit aufgelöst, nicht durch den compiler.
Was du vor hast kann so also nicht funktionieren.

Mir ist auch nicht bekannt, dass der javac etwas in der Richtung kann. Wenn überhaupt müsstest du das über ein Build-Tool lösen. Allerdings macht das auf mich einen eher schlechten Eindruck. Wenn es unter 1.5 laufen soll dann solltest du den Code auch so schreiben.

Gruß
Sparrow
 

André Uhres

Top Contributor
sparrow hat gesagt.:
..Allerdings macht das auf mich einen eher schlechten Eindruck. Wenn es unter 1.5 laufen soll dann solltest du den Code auch so schreiben...
Ich finde die Idee nicht schlecht:
man will seine JTable ab 1.6 um eine Funktionalität bereichern, die es bis 1.5 eben noch nicht (standardmässig) gibt.
Das Problem hatte ich auch schon und konnte es über zwei Klassen lösen.
 

sparrow

Top Contributor
Lösen kann man das sicher über das dynamische nachladen einer Klasse per Reflexion. Irgendwie macht es aber einen unsauberen Eindruck auf mich. Das ist aber nur meine eigene Meinung.
Vielleicht liegt das an meiner Meinung zu Java, was für mich bedeutet, dass ein Programm auf jedem System (mehr oder weniger) gleich läuft.... wenn es denn läuft.
Wenn ich die Funktion wichtig für das Programm finde würde ich sie selber bauen, so, dass sie auch unter 1.5 läuft.

Allerdings muss ich zugeben, dass es mir oft schwer fällt mich für eine neue Version bei der Entwicklung zu entscheiden. Die neuen Funktionen der Version sind schon verführerisch, dagegen steht es dem Anwender zuzumuten, dass er vielleicht extra eine neue JVM herunter laden muss.
Ich kann also den Wunsch durchaus verstehen.
 

Eifelente

Mitglied
Meine Lösung sieht nun so aus, dass ich alles, was nur unter 1.6 läuft, in eine neue Klasse ausgelagert hab.
Diese Klasse habe ich doppelt, bei der zweiten Version sind halt alle Methoden ohne Inhalt.
So muss dann beim Wechsel von 1.5 auf 1.6 nur diese eine Klasse ausgewechselt werden.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Sass Compiler und String erhalten? Java Basics - Anfänger-Themen 7
N Interpreter-Fehler Compiler zeigt keine Fehler an, aber das Programm läuft nicht (BlueJ) Java Basics - Anfänger-Themen 2
N Compiler-Fehler State Machine - Compiler Error Java Basics - Anfänger-Themen 48
C Erste Schritte Anfänger Verständnisfrage zum Compiler Java Basics - Anfänger-Themen 31
A Compiler Fehler - not a statement Java Basics - Anfänger-Themen 2
OSchriever Frage zu Compiler Java Basics - Anfänger-Themen 8
B Nicht reproduzierbarer Fehler bei Kompilierung - Shortcut "Bereinigung" Compiler ? Java Basics - Anfänger-Themen 4
Gaudimagspam Compiler Error Java Basics - Anfänger-Themen 3
B Nach eingefügtem Code erkennt Compiler keine Instanzvar und meldet SyntaxError Java Basics - Anfänger-Themen 2
P Welche Zeile in Tadople gibt einen compiler error? Java Basics - Anfänger-Themen 5
D Warum Compiler das nicht Java Basics - Anfänger-Themen 6
Zrebna Compiler-Fehler Java-Compiler wird nach 'javac' keyword-Eingabe nicht gestartet (Erste Übung) Java Basics - Anfänger-Themen 18
C Classpath Compiler lässt sich nur bedingt von Kommandozeile aus starten Java Basics - Anfänger-Themen 17
V Komplizierte Compiler Fehlermeldungen Java Basics - Anfänger-Themen 7
B Compiler -> unendliche Schleife (StringBuffer?) Warum? Java Basics - Anfänger-Themen 2
B Java Compiler Fehler Java Basics - Anfänger-Themen 7
R Compiler-Fehler Java Compiler Unterschiede Java Basics - Anfänger-Themen 10
S Variable, die im Konstruktor gesetzt wird, wird nicht gefunden vom Compiler. Java Basics - Anfänger-Themen 4
L Compiler funktioniert nicht Java Basics - Anfänger-Themen 2
M Erste Schritte Erstes Programm mit Compiler öffnen Java Basics - Anfänger-Themen 4
K Enigma compiler Fehler Java Basics - Anfänger-Themen 4
K Compiler-Fehler Enigma compiler Fehler Java Basics - Anfänger-Themen 5
P Compiler-Fehler wieso zeigt der compiler ein else without if? Java Basics - Anfänger-Themen 3
W Compiler-Fehler Compiler Fehler Java Basics - Anfänger-Themen 9
K Arraylist - Compiler Fehler Java Basics - Anfänger-Themen 3
S Logging Code komplett von Compiler entfernen lassen..? Java Basics - Anfänger-Themen 5
J Compiler-Fehler Cmd startet compiler Java Basics - Anfänger-Themen 1
Z Java Compiler will nicht mehr Java Basics - Anfänger-Themen 3
J Compiler Fehler Java Basics - Anfänger-Themen 5
K Compiler-Fehler Probleme mit dem Compiler Java Basics - Anfänger-Themen 10
R Java HotSpot Compiler Java Basics - Anfänger-Themen 6
J Java Basics Frage Compiler etc Java Basics - Anfänger-Themen 12
J Compiler-Fehler Verständnis Problem bei Compiler-Warning Java Basics - Anfänger-Themen 7
F Compiler Probleme Java Basics - Anfänger-Themen 7
D [jni] compiler error Java Basics - Anfänger-Themen 2
J Compiler findet method nicht Java Basics - Anfänger-Themen 12
E Compiler Java Basics - Anfänger-Themen 9
I Suche Compiler in Java SDK Java Basics - Anfänger-Themen 5
D Classpath compiler zur Laufzeit aufrufen & lib-classpath Java Basics - Anfänger-Themen 6
S Compiler-Fehler see the compiler error output Java Basics - Anfänger-Themen 6
E Verwirrender Compiler Fehler!? Java Basics - Anfänger-Themen 3
Dit_ Compiler-Fehler Stringvariable ändern | Compiler warnung Java Basics - Anfänger-Themen 25
J Mac OS X - javac - Compiler Probleme Java Basics - Anfänger-Themen 2
M Compiler-Fehler instanceof compiler-error Java Basics - Anfänger-Themen 2
M JDK installieren Compiler Version Java Basics - Anfänger-Themen 4
pindakaas Compiler geht nicht (Dekorator Muster) Java Basics - Anfänger-Themen 18
S compiler auf 6.0 stellen Java Basics - Anfänger-Themen 6
L laut Compiler fehlt der Methodenkörper Java Basics - Anfänger-Themen 2
N Compiler findet array in gleicher methode nicht Java Basics - Anfänger-Themen 4
R Automatischer Compiler? Java Basics - Anfänger-Themen 4
H TreeMap Rückgabe - Compiler-Warnings Java Basics - Anfänger-Themen 9
C Hat jemand Ahnung zum GCJ(Gnu Compiler for Java) Java Basics - Anfänger-Themen 7
Luk10 Frage zu Compiler-Einstellung Java Basics - Anfänger-Themen 12
B Compiler funzt nicht. Java Basics - Anfänger-Themen 12
A SocketServer und Ahead-Of-Time-Compiler Java Basics - Anfänger-Themen 18
P JAVA Compiler (Javac) Java Basics - Anfänger-Themen 4
M Compiler-Fehler Java Basics - Anfänger-Themen 11
Mike90 Java Compiler funzt nicht Java Basics - Anfänger-Themen 11
J Java Compiler will nicht in der Kommandozeile Java Basics - Anfänger-Themen 5
A Compiler kann das exceptionElement nicht finden Java Basics - Anfänger-Themen 10
M Unterschied zwischen . Compiler und JIT-Compiler,Hotspot-VM Java Basics - Anfänger-Themen 2
M einfache frage zum Jdk-Compiler Java Basics - Anfänger-Themen 3
A compiler gibt nichts aus Java Basics - Anfänger-Themen 12
D JDK Compiler Java Basics - Anfänger-Themen 4
B Fragen zu threads, swing, und dem bytecode compiler, etc. Java Basics - Anfänger-Themen 4
K Warum akzeptiert der Compiler mein Objekt nicht ? Java Basics - Anfänger-Themen 3
F Compiler für mac os x 10.4 Java Basics - Anfänger-Themen 5
S compiler warning Java Basics - Anfänger-Themen 2
A Java error message Was will der Compiler von mir? Java Basics - Anfänger-Themen 6
K Compiler Problem Java Basics - Anfänger-Themen 3
J compiler funktioniert nicht Java Basics - Anfänger-Themen 8
I Compiler ignoriert setSize, setPreferredSize, etc. Java Basics - Anfänger-Themen 14
G jaxb compiler Java Basics - Anfänger-Themen 2
B Anfänger mit Compiler-problemen Java Basics - Anfänger-Themen 20
S was passt dem compiler nicht? Java Basics - Anfänger-Themen 2
I Probleme mit Pfad zum Compiler Java Basics - Anfänger-Themen 8
D [DONE] JDK Installation: Compiler macht Probleme. Java Basics - Anfänger-Themen 3
M Compiler findet main nicht Java Basics - Anfänger-Themen 4
O Compiler-Fehler im Bezug auf Klasse Java Basics - Anfänger-Themen 5
G compiler Java Basics - Anfänger-Themen 16
C Compiler-Fehler Java Basics - Anfänger-Themen 6
S Java Compiler? oder doch der Code? Java Basics - Anfänger-Themen 6
padde479 Compiler-Frage: Was bedeutet deprecated? Java Basics - Anfänger-Themen 4
C Nach Installation kein Java-Compiler Java Basics - Anfänger-Themen 7
R Java verstanden, Compiler nicht Java Basics - Anfänger-Themen 6
M Frage zu Java Compiler Java Basics - Anfänger-Themen 3
A Ant Problem: Unable to find a javac compiler; Java Basics - Anfänger-Themen 4
B Aus Datei Lesen -> Compiler fehler Java Basics - Anfänger-Themen 6
B Compiler Fehler "{" expected, kann doch nich sein? Java Basics - Anfänger-Themen 9
M kostenloser Java-Compiler? Java Basics - Anfänger-Themen 6
D Was für einen compiler empfehlt ihr? Java Basics - Anfänger-Themen 12
F Compiler-Fehlermeldung LINUX Java Basics - Anfänger-Themen 9
C Compiler-Fehler - bitte um Hilfe Java Basics - Anfänger-Themen 20
H Java-Compiler Java Basics - Anfänger-Themen 5
T System.out.println - Compiler-Fehler Java Basics - Anfänger-Themen 22
C Compiler läuft nicht Java Basics - Anfänger-Themen 6
G Compiler hängt schon wieder Java Basics - Anfänger-Themen 14
E jit-compiler Java Basics - Anfänger-Themen 5
G Windows optimierter Compiler? Java Basics - Anfänger-Themen 5
J suche guten Java-Compiler! Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben