Freitag, 31. August 2012

GWT, Maven und Eclipse: Build Failure weil die Klasse mit dem Entry Point nicht gefunden wird

Ecplise: Indigo Service Release 2
Maven 3.0.3
Google Plugin 3.1.0
GWT SDK 2.4.0
m2e Plugin 1.0.200


Wer GWT mit Maven und Eclipse verwenden möchte braucht manchmal ein dickes Fell.



[INFO] Compiling module myCompany.client.Frontend
[INFO]    Finding entry point classes
[INFO]       [ERROR] Unable to find type ' myCompany.client.Frontend '
[INFO]          [ERROR] Hint: Previous compiler errors may have made this type unavailable
[INFO]          [ERROR] Hint: Check the inheritance chain from your module; it may not be inheriting a required module or a module may not be adding its source path entries properly
[INFO] ------------------------------------------------------------------------


Die Klasse existiert aber und es tritt auch kein Compile Fehler auf. Des Rätsels Lösung war der Ablageort des Frontend.gwt.xml. Wie bei Maven üblich wurde es in src/main/resources untergebracht und dort unter myCompany/client. Das mag aber nun das gwt-maven-plugin gar nicht und wirft den obigen Fehler aus. Verschiebt man das gwt.xml nun einen Folder runter in den Folder myCompany geht plötzlich der Build durch.

Freitag, 3. August 2012

Jar auf die javac -target Version überprüfen

Baut man sich ein Fat Jar zusammen und bindet dabei Third Party Jars ein gibt es derzeit in Maven keinen Warnhinweis, das einige der fremden Jars unter Umständen eine höhere Version der Runtime brauchen als als Zielplattform vorgesehen/möglich ist.

Hier hilft einen das Programm JarCheck, damit kann man einfach alle Klassen eines beliebigen Jars auf die benötigte Runtime überprüfen.
Hier überprüfe ich Beispielsweise ob alle Klassen auch schön im Bereich von Java 1.1 bis 1.4 liegen:


java -jar jarcheck.jar myFatJar.jar 1.1 1.4

Links:
Download JarCheck