Posts tagged: eclipse

Change Tomcat Dynamic Web Module from 2.5 to 2.4 in Eclipse

By zer(o_0)ne, 15. Januar 2010 17:22

Hat man mal ein dynamisches Webprojekt in Eclipse mit Tomcat 6 angelegt und will nun zurück auf Tomcat 5.5, kann das scheinbar nicht ganz so einfach sein. Will man nämlich in den Projekt Facets einfach die Dynamic Web Modul API von 2.5 auf 2.4 ändern, geht dies nicht. Man kann es zwar auswählen, doch nicht bestätigen, da Eclipse die Übernahme der Optionen verweigert.

Doch lässt sich dies ganz einfach Lösen. Einfach nicht den Einstellungs-Dialog von Eclipse nutzen und schon wird alles ganz einfach. In Eclipse einfach den Navigator-View auf machen und im betroffenen Projekt den Ordner “.settings” öffnen. Hier finden wir nun einiges Konfigurationsdateien, die zwar ganz nett sind, die Interessante ist aber org.eclipse.wst.common.project.facet.core.xml“. Diese öffnen wir und ändern dort einfach den Parameter “<installed facet=”jst.web” version=”2.5″/>“. Hier nur die 2.5 gegen 2.4 austauschen, speichern und fertig. Und schon haben wir unsere Servlet API geändert. Jetzt sollte das Projekt auch wieder im Tomcat 5.5 laufen.

Ant + ECJ

By zer(o_0)ne, 26. Februar 2009 23:16

Wenn man in Bezug auf ant mal nicht javac als Compiler nehmen will sondern ECJ, dann braucht man nicht viel zu tun. Als erste schnappt man sich das “org.eclipse.jdt.core_3.4.2.v_883_R34x.jar” aus einer Eclipseversion. Hier zum Beispiel aus Eclipse 3.4.1.. Das kopiert man dann in das “lib”-Verzeichnis von ant. Bei mir liegt dies unter “/usr/share/ant/lib”. Wenn man da keine Schreibrechte hat, kann man das JAR auch nach “~/.ant/lib” kopieren. Dort findet es ant dann auch. So die Theorie, leider klappe das nicht ganz so einfach auf meinen Fedora 9 System. Ich musste noch aus dem oben genannten JAR das darin enthaltende “jdtCompilerAdapter.jar” entpacken und auch in das lib-Verzeichnis von ant. Danach ging alles. Und dieses alles ist folgendes: in seiner “build.xml” muss man jetzt nur noch ein spezielles “property” setzen.

<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter" />

Und damit wären wir auch schon fertig! Jetzt wird beim kompilieren mit dem “javac task” immer ECJ genommen anstatt der Compiler des System-JDK.

Und wenn man mal “fehlerhafte” Klassen kompilieren will, kann man jetzt das “javac Flag” “failonerror” auf “off” setzten. Anders als der Standard Java Compiler, welcher den build-Prozess dann zwar als erfolgreich markiert, aber nichts macht, kompiliert ECJ auch fehlerhafte Klassen. Also zum Beispiel Klassen wo wiederum andere Klassen importiert werden, welche aber nicht im “Classpath” stehen. Denn ECJ bietet das Feature “proceedOnError”, welche durch ”failonerror=off” gesetzt wird.

<javac failonerror="off"> blubb </javac>

Panorama theme by Themocracy