Josm aus svn wirft in Eclipce Fehler

Hallo zusammen,

Ich versuche seit gestern abend Josm aus dem svn in Eclipse zu laden. Leider bekomme ich dabei immer die folgende Fehlermeldungen in Eclipse:

Project JOSM is missing required library: ‘test/build’
The project cannot be build until build path errors are resolved

Meine letzte Anwendung von Java und Eclipse liegt nun schon mehr als ein halbes Jahr zurück (damals eigene kleine Projekte, nicht Josm) und ich stand auch damals dauernd auf Kriegsfuß mit den zigtausend Einstellungen und Fehlern, die man in Eclipse machen kann.

Ich habe bereits in Google gesucht und nichts Hilfreiches gefunden. Außerdem habe ich dieses ‘test/build’ mal in den Project-Properties aus den Libraries gelöscht. Das gab jedoch nur noch mehr Fehler. Leider konnte ich den Pfad auch im svn nicht finden.
Vorgegangen bin ich nach folgendem Tutorial:
http://www.youtube.com/watch?v=-LoWGf-hqiQ

Kann jemand von euch mir da evtl weiterhelfen? Ich bin mit meinem Java nämlich am Ende.

Vllt sind noch folgende Daten hilfreich:
System: Ubuntu 8.10
Eclipse SDK Version: 3.2.2
Compiler compliance level: 5.0

Danke schonmal im Vorraus,
Christian

PS: Ein .jar daraus zu binden hat gestern abend anscheinend trotz der Fehler mal funktioniert. Aber ich brauche das ganze nur um mich mal an der Programmierung von Plugins zu versuchen. Und wenn ich dort das zweite Videotutorial verfolge, bekomme ich Fehlermeldungen, die sich auf die Fehler bei Josm beziehen.

Da ich es schon mal erfolgreich geschafft habe, JOSM unter Ubuntu in Eclipse zu laden, fühle ich mich jetzt einfach qualifiziert, hier zu antworten. :wink:

Hätte ich auch gemacht. Bei mir kommt ein solcher Eintrag dort jedenfalls auch nicht vor.

Das ist erst einmal kein schlechtes Zeichen. Möglicherweise gabs diese Fehler auch vorher schon, nur ist es da wegen des fehlerhaften Eintrags im Buildpath erst gar nicht bis zum Kompilieren gekommen.

Was sind das denn für Fehler? Eine erste Spekulation meinerseits wäre, dass du noch die Bibliotheken unter core/lib zum Buildpath hinzufügen musst.

Ach ja:

Das ist eine recht antike Version. Aus den Ubuntu-Repositories, oder? Der 3.2-Zweig war halt schon zwei Jahre alt, als Ubuntu 8.10 rauskam…
Selber hab ich es nie mit einer älteren Version als 3.4 versucht. Kann also nicht sagen, ob das einen Unterschied macht.

Danke für die Antwort.

Wenn ich den Pfad aus dem Buildpath lösche, dann kommen insgesammt 34 Fehler, die alle wie folgt aussehen:

The method ht(String) is undefined for the type MainMenu JOSM/src/org/openstreetmap/josm/gui MainMenu.java line 168
The method marktr(String) is undefined for the type OsmPrimitiveType JOSM/src/org/openstreetmap/josm/data/osm OsmPrimitiveType.java line 11
The method tr(String) is undefined for the type ComparePairType JOSM/src/org/openstreetmap/josm/gui/conflict/pair ComparePairType.java line 27

Wenn ich mal den ersten Fehler ansehe, dann kommt da die Zeite vor:
import static org.openstreetmap.josm.gui.help.HelpUtil.ht;

Keine Ahnung, was sich hinter dem Pfad genau verbirgt. Nach code/lib sieht es für mich aber leider nicht aus. Allerdings habe ich in den Pfaden auch nichts mit core drinn. Ich finde in JOSM aber auch keinen solchen Ordner.

Was meine Eclipse-Version angeht: Ja, die ist uralt. Ich musste vor längerem mal ein CodeCoverage-Plugin installieren. Das funktionierte nur auf einer neueren Version aber dort hat svn nicht funktioniert. Deswegen programmiere ich gerade wieder mit dem alten Eclipse.

Grüße,
Christian

Entschuldigung, ich muss mich korrigieren:

Ich habe die neuere Eclipse-Version (3.4.2 von irgendwann mitte 2009) noch auf dem Rechner und sie doch testweise mal gestartet. Anscheinend habe ich das svn-Problem damals doch gelöst bekommen und konnte also das ganze mal auf einem neueren Eclipse testen.

Ich bekomme aber leider genau die gleichen zwei Fehler, die ich eingang erwähnt habe.

Schönen Abend noch,
Christian

Hm, ok, eine Lösungsidee habe ich dann auch nicht mehr. Was mir etwas seltsam vorkommt ist, dass diese Imports nicht funktionieren. Ich nehme mal an, du hast den gesamten src-Ordner als Source-Verzeichnis im Build-Path? Dann sollte es doch eigentlich auch darauf zugreifen können.

Stimmt, hab noch mal in das verlinkte Anleitungsvideo gesehen - so, wie es dort gemacht wird, ist der lib-Ordner wohl direkt in der ersten Unterebene.

Ich habe als Experiment jetzt einfach noch mal einen komplett neuen JOSM-Workspace angelegt. Nach dem Auschecken hatte ich auch den test/build-Fehler. Als ich das aus dem Pfad genommen hatte, gab es aber keine weiteren Probleme mehr. Wo der Unterschied zu deiner Situation ist, weiß ich leider nicht.

Übrigens: Wenn du den Eindruck hast, hier nicht mehr weiterzukommen, könntest du es auch auf der “josm-dev”-Mailingliste nochmal versuchen. Die Entwicklerdichte ist dort wohl deutlich höher. Eine Antwort garantiert das natürlich auch nicht.

Edit: Nur, weil das ein häufiges Problem mit Java unter Ubuntu ist: Dass du ein Sun-Java nicht nur installiert hast, sondern auch verwendest, hast du geprüft? Ansonsten mal “java -version” aufrufen und Resultat posten.

Oh, ich sehe gerade, dass in den Pfaden doch etwas mit “core” drinn ist: signpost-core-1.1.jar - JOSM/lib

Wenn Ich “src” testweise noch hinzufüge beschwert er sich darüber, dass es doppelt sei. (Wo er wohl auch recht hat :))

Die letzte Möglichkeit scheint wohl nun die Java-Version zu sein:
$ java -version
java version “1.6.0_0”
IcedTea6 1.3.1 (6b12-0ubuntu6.6) Runtime Environment (build 1.6.0_0-b12)
OpenJDK Client VM (build 1.6.0_0-b12, mixed mode, sharing)

Schönen Abend noch,
Christian

Das ist dann also noch das von Ubuntu vorinstallierte Java. Das mal auszutauschen ist sicher einen Versuch wert:

  1. Installiere - falls noch nicht geschehen - die Sun-Java-Pakete. Ich glaube, die sind die in multiverse, dort in Synaptic einfach mal nach “sun java” suchen und zumindest jdk sowie jre installieren.

  2. Stelle sicher, dass die neu installierten Pakete auch verwendet werden: http://wiki.ubuntuusers.de/Java/Tipps#Verwendete-Java-Version-einstellen

Vielleicht hilfts ja, andere Ideen habe ich wie gesagt nicht mehr.

Also installiert ist es laut Synaptic. Und wenn ich der Anleitung im Link folge, dann kommt folgende Ausgabe:

$ sudo update-alternatives --config java

There are 2 alternatives which provide `java’.

Selection Alternative

      1    /usr/lib/jvm/java-6-sun/jre/bin/java

*+ 2 /usr/lib/jvm/java-6-openjdk/jre/bin/java

Ich habe das jetzt mal auf das Erste umgestellt. Das scheint allerdings ncihts geholfen zu haben. Es treten weiterhin genau die selben Fehler auf. Was mir allerdings noch auffällt ist, dass bei den Java-Alternativen nur der Stern beim ersten Eintrag steht, das Plus steht weiterhin beim zweiten Eintrag. Was das zu bedeuten hat ist mir nicht ganz klar.

Ansonsten fällt mir gerade ein, dass da vor längerer Zeit etwas kaput ging. Seitdem kann ich Eclipse (das alte) nur mit dem Befehl “/usr/bin/eclipse -vm /etc/alternatives/java” starten. Ich habe mir einen Starter dafür eingerichtet, deswegen habe ich da gar nicht mehr drann gedacht. Starte ich es mit dem normalen Starter, dann kommt folgende Meldung: “The custom VM you have chosen is not a valid executable.”.

Mein Startskript für das selbst installierte neuere Eclipse hat aber keine weiteren Parameter an Eclipse und dort tritt das JOSM-Problem ja ebenso auf.

Vielleicht muss ich mein mitlerweile wohl ziemlich verbasteltes, altes Ubuntu doch so langsam mal neu installieren.

Danke für deine Hilfe,
Christian