Contourmerge plugin funktioniert nicht mehr [gelöst]

Hallo zusammen,
bei mir (WinXP 1Kern-CPU) funktioniert das Contourmerge plugin seit dem Update von JOSM (von Version 5576 auf 6388 oder 6409) nicht mehr.
Habt ihr das gleiche Problem oder könnt ihr das nicht bestätigen?

Bei dir sollte die Frage eigentlich überflüssig sein, aber zur Sicherheit doch:
Hast du deine Plugins auch aktualisiert und danach JOSM neu gestartet?

Es gibt Abhängigkeiten zwischen den Plugin- und JOSM-Versionen.

Edbert (EvanE)

Danke ja, hab ich gemacht. Ich schließe daraus, dass es bei dir funktioniert…
Hmm, dann liegt es vielleicht an dem nicht-installierten Java Update… Installiert ist Version 1.6.0_21

Achso, “funktioniert nicht” heißt in meinem Fall:
Beim Start von JOSM kommt die Meldung “Plugin contourmerge konnte nicht geladen werden. Abschalten/Behalten?”

Gibt es eine ungewöhnliche Ausgabe wenn du JOSM über die Konsole startest? (also “java -jar josm-latest.jar”)

java.lang.UnsupportedClassVersionError: org/openstreetmap/josm/plugins/contourme
rge/ContourMergePlugin : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.openstreetmap.josm.plugins.PluginInformation.loadClass(PluginInformation.java:322)
at org.openstreetmap.josm.plugins.PluginHandler.loadPlugin(PluginHandler.java:554)
at org.openstreetmap.josm.plugins.PluginHandler.loadPlugins(PluginHandler.java:628)
at org.openstreetmap.josm.plugins.PluginHandler.loadLatePlugins(PluginHandler.java:668)
at org.openstreetmap.josm.gui.MainApplication.main(MainApplication.java:381)

Komischerweise werden auch die Symbole die ich mir per Preset (xml) reingeladen habe nicht mehr angezeigt. Das Preset an sich funktioniert aber noch.

Die Fehlermeldung deutet auf eine zu alte Java Version. Hast Du kein Java 7 installiert?

http://stackoverflow.com/questions/10382929/unsupported-major-minor-version-51-0

Nö, er schrieb ja auch Installiert ist Version 1.6.0_21

Gruss
walter

Die letzte Version war die 6u45. Und für Java 6 gibt es keine öffentlichen Sicherheitsupdates mehr.

IMO ganz schön fahrlässig mit so einer angestaubten Version zu arbeiten.

Gruß

Sag das den Windows XP Nutzern.

Danke, das würde es erklären. Habe es noch nicht testen können, da sich mein PC grade weigert Java 7 zu installieren. Könnte daran liegen, dass ich mir möglicherweise was eingefangen habe, aber das sag ich bei den obigen Kommentaren besser nicht :smiley:
Ich setzt den Thread trotzdem mal auf gelöst.

Grund für die fehlenden Updates ist u.a. “Never change a running system”, meine seeeeehr schlechte Internet Verbindung und der damit zeitlich verbundene Aufwand. Dazu kommt noch, je mehr geladen wird, desto schlechter wird die Verbindung, obwohl das kaum mehr geht. Wenn die ganzen automatischen Updates laufen geht leider garnix mehr.

Nahmd,

Lokale Jars laufen ohne Sicherheits-Policy: der Interpreter macht alles, was der Programmierer im Jar codiert hat und mit dem Account des Benutzers machbar ist. Und da der Interpreter keine Policy durchsetzt, kann man auch nicht durch Fehler im Interpreter die Policy umgehen.

Eine veraltete Version zu nutzen ist nicht wirklich klug. Aber fahrlässig nur dann, wenn man dem Browser erlaubt hat, aus dem Netz geladene Jars auszuführen.

Also bitte nicht unnötig Angst verbreiten.

Gruß Wolf

Danke, ich wollte sowas auch schon schreiben, allerdings weniger diplomatisch,
so ala ‘Nuhr’.
Nur das Java Browser Plugin ist Problematisch. Und Webstart mit Jars von
nicht vertrauenswürdigen Servern.

Allerdings ist es bei lokalen Anwendungen wie Josm auch ok eine uralte Version zu nehmen,
außer das die neueren auch ‘normale’ also nicht sicherheitskritische Fehler beheben, aber eine
xyz_21 ist auch schon gut abgehangen, kann man lassen.

Wenn man allerdings genau sein will, ISO-Blafasel, muß man nicht nur die exakte Java
Version festlegen, auch das OS und alle dort eingespielten Patches und Servicepacks.
Auch alle Änderungen am OS, Einstellungen und Fremdsoftware sollte man 100% unter
Kontrolle haben. Zum Glück sind wir ein Haufen Nerds und keine BWLer.

Nun was sinnvolles:

Zum eigentlichen Problem:
Ich nehme an der Pluginauthor hat mit einem jdk7 Compiler gebaut und dem nicht gesagt
das er 6er Kompatibilität erzeugen soll. Das könnte man dem Author mal schreiben, der
korrigiert das sicherlich gerne. So können auch andere das Plugin weiter nutzen.
Oder mal auf der Josm-Dev-Mailingiste berichten.

JOSM verlangt noch nicht Java 7.

Als Workaround:
Auch brauchbar wenn man das nur selten macht und dafür das Plugin nicht
extra installieren will, oder damit umgehen lernen.

Man kann die Pluginfunktionalität auch ohne erreichen:
Man habe 2 Gebiete: Bestehend (B) und das an das man ‘Andocken’ (A) will.
Nun geht man vom Startpunkt auf B, B1, hin und zeichnet mit dem [A]ppendmodus
eine neue Linie nach A, dort mit der [F]ollow Taste der Kontur von A Folgen soweit
man es braucht, dann nach B. Dort folgt man der Kontur bis B1, oder malt großzügig
aber ohne zu weit zu gehen in B bis B1, das neue Gebiet ist dann C. Dann Joint (utils2 Plugin) man
C mit B. Fertig.
Das geht nicht so bequem wenn die Nodes von A von vielen weiteren Wegen genutzt
werden da dann [F] nicht so gut funktioniert.

(Wer Lust hat kann die Beschreibung gerne ins Contourmerge Plugin Wiki schreiben,
vielleicht ein Bild dazu:-)

Es ginge dann noch etwas anders, wenn [F] nicht so recht will: (komplexer)
C nicht an A anpassen sondern großzügig hinein zeichnen. Dann A an den Grenzen
zu C aufspalten ->(A1, A2) , Tags an dem Wegstück ‘A1’ wegnehmen(!!).
C an A1 aufspalten [Alt-X] → (C1, C2), C1 mit B verschmelzen. C2 trennen [P],
und wieder mit A2 verbinden [C].
Bild: http://666kb.com/i/ck68vtuvnu08uoct4.png

Ein Knobelspiel, wie kann man mit einfachen Funktionen das Ziel erreichen.
Kennt wer Lemmings?
Josm macht Spaß.

Peter