# applet Java 1.6 -> 1.5 Problem  ... wie mit Ant zu lösen?



## virtualAudio (16. Apr 2009)

Hi Leute,

ich habe ein applet in eclipse programmiert. Der Comiler war auf 1.6 gestellt und machte keine Probleme. Als es dann online bei ein paar Leuten nicht funktionierte hab ich in Eclipse auf 1.5 umgestellt und mit der jar-exportieren Funktion das applet erstellt. So geht es bei den meisten Leuten.

Mein Problem ist nun folgendes. ich habe ein Ant-Skript, dass für mich alle möglichen Sachen macht. Auch das compilieren mit javac. Ich habe das target und source tag auf "1.5" gesetzt, aber die dadurch entstandenen Versionen funktionieren wieder nicht bei diesen Leuten, ich nehme also an, das hier noch nicht 1.5 wie bei der export-Funktion von eclipse genutzt wird.

wie kann ich Ant dazu bringen 1.5 zu nutzen?

Bitte, bitte gebt mir einen Tipp, ich sollte den Link noch heute meinem zukünftigen Arbeitgeber schicken.

lg andi


----------



## maki (16. Apr 2009)

target & source setzen reicht für den javac Ant task.

Wenn du uns die Fehlermeldung verraten würdest könntest du sogar auf hilfreiche Antworten hoffen


----------



## Wildcard (16. Apr 2009)

Fuer Java 5 solltest du in jedem Fall mit einem JDK 5 compilieren. Alles andere ist zu riskant, da du nicht feststellen kannst, ob du post Java 5 Methoden oder Klassen verwendest hast.


----------



## virtualAudio (16. Apr 2009)

maki hat gesagt.:


> target & source setzen reicht für den javac Ant task.
> Wenn du uns die Fehlermeldung verraten würdest könntest du sogar auf hilfreiche Antworten hoffen



Tja, leider bekommen sie anscheinend keine Fehlermeldungen.

Die Javaconsole ist leer. Auch die Nachricht die ich in der init ausgebe wird nicht angezeigt. Wenn sie kein Java hätten würde ein Alternativtext auf der page stehen. Es ist also wohl sicher das Versionsproblem. Meine Frage bezieht sich daher eher auf mein Problem mit Ant.


Wie ich in eclipse den compiler von 1.6 auf 1.5 umgeschalten habe, wurden Fehler im Code angezeigt.

Und zwar waren die @overwrite vor manchen Methoden die Exlipse zuvor automatisch erstellt hat, nun nicht mehr erwünscht, nach dem Rauslöschen von diesen, dem Compilieren und Packen dieses leicht veränderten Codes mit der Exportfunktion, konnten besagte Freunde dann das Applet sehen. 

(So wie ich das jetzt sehe haben 2 von ihnen Macs, kann sein, dass da der Hund begraben ist. Ihr Systemupdate sagt ihnen, dass sie die neueste Version haben, aber das ist anscheinend 1.5.06 ... ich hab nicht wahnsinnig viel gesucht...aber müsste es nichta uch für mac eine neuere Version als diese geben?..aber das nur nebenbei)

Danach habe ich diesen code wieder mit ant und den argumenten target="1.5" und source="1.5" compiliert und das ging wieder nicht bei ihnen.

Ideen? 

lg andi


----------



## mvitz (16. Apr 2009)

Mit JDK 1.5 kompilieren.


----------



## virtualAudio (17. Apr 2009)

habi55 hat gesagt.:


> Mit JDK 1.5 kompilieren.



Ja, wenn das so einfach für mich wäre. Ich dachte ja eigentlich, dass die Argumente target oder source dafür zuständig sind. So wie Eclipse eben auch mit JDK 1.6 eine Compilierung mit 1.5er Klassen oder noch älter machen kann...

tja, ich bin leider was Ant angeht bis dato nur dummer Anwender ohne viel herumprobieren gewesen. Files löschen, kopieren, compilieren mit Standardeinstellungen, packen, signieren, hochladen....das wars

Ich hab zwar jetzt zusätzlich schon ein 1.5er JDK installiert, aber hab noch nicht herausgefunden wo ich Ant umkonfiguriere. Ich les da in der doc vom javac tag zwar was von fork und execute und dass es eine property build.compiler gibt oder sowas...aber meine ersten wilden Zusammenstückelungen von diesen Wörtern haben bis jetzt anscheinend immer nur wieder eine 1.6er Version erzeugt.

Wenn jemand mir erklären kann wie es funktioniert oder mir mit einem link den Weg zu einer anschaulichen Erklärung zeigen kann, wäre ich sehr dankbar.

lg andi


----------



## mvitz (17. Apr 2009)

Javac Task


> The fork attribute overrides the build.compiler property or compiler attribute setting and expects a JDK1.1 or higher to be set in JAVA_HOME.



Du kannst also bevor du das ganze per ANT buildest in der Konsole den Wert von JAVA_HOME auf ein JDK1.5 ändern.

Oder auch:
Nabble - Anthill - General - how to set JAVA_HOME in antscript build.xml
[XML]<javac srcdir="${project.test}"
   destdir="${build.test}"
   source="1.4"
   target="1.4"
   debug="on"
   deprecation="off"
   optimize="on"
   fork="yes"
   executable="${jdk1.4}/bin/javac">
   <classpath>
      ...
   </classpath>
</javac> [/XML]

Oder du müsstest dir ne .bat erstellen die dann JAVA_HOME setzt und anschließend Ant startet oder die du per <exec> im Ant Script startest und die dann JAVA_HOME setzt.


----------



## virtualAudio (18. Apr 2009)

habi55 hat gesagt.:


> Oder du müsstest dir ne .bat erstellen die dann JAVA_HOME setzt und anschließend Ant startet oder die du per <exec> im Ant Script startest und die dann JAVA_HOME setzt.



Das klingt schon ziemlich nach einer Lösung für mich 

Danke für diesen und die anderen Tipps. Einer dieser Lösungswege wird sich schon als gut für mich herausstellen denke/hoffe ich!

Danke vielmals!!!
lg andi


----------

