Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

java.lang.ClassNotFoundException: java.util.concurrent.Semaphore not found

Empfohlene Antworten

Hallo,

ich habe ein Problem.

java.lang.ClassNotFoundException: java.util.concurrent.Semaphore not found in java.lang.ClassLoader$1{urls=[file:/mnt/xxx.jar,file:/mnt/], parent=null}

Ich wollte meine Jar auf einen Router starten über die sablevm (java 1.4).

Beim Ausführen kommt die obrige Fehlermeldung.

Daraufhin habe ich den Ordner concurrent, mit den ganzen Klassen in die Bootclasspath eingefügt java/util/concurrent.

Nochmal ausgeführt und keine Besserung, wie soll man die Klasse in den ClassLoader einfügen?

Vielen Dank schon mal für die Hilfe.:)

Servus,

also Du kannst nicht einfach ein paar Klassen aus dem 1.5er JDK (oder größer) nehmen, und einer 1.4er VM unterjubeln.

Entweder Du kannst die VM auf eine höhere Version bringen, oder Du wirst die Anwendung auf die Version 1.4 portieren müssen.

Schöne Grüße,

Peter

Die Jar hatte ich auf 1.4 mit dem retroweaver runterpoliert.

Hat auf dem großen Pc mit 1.4 geklappt, bloß auf dem Router nicht.(Hätte ich lieber schon mal oben schreiben sollen)

Kann das jre 1.4.2 auf die Semaphore von 1.5 zugreifen, wenn ja, dann würde ich den Fehler verstehen.

PC hat Java 1.4 & 1.5 & 1.6 (habe aber mit Sicherheit das 1.4 benutzt)

Router Java 1.4.

Also die von Dir in der Fehlermeldung genannte Klasse Semaphore ist erst seit JDK 1.5 enthalten. Deshalb kann es eigentlich auf einer 1.4er VM nicht laufen. Was der Retroweaver macht, kann ich nicht sagen, da ich das Werkzeug nicht kenne.

Es kann natürlich auch an der speziellen (nicht Sun, hoppla, Oracle natürlich) VM auf dem Router liegen.

Schöne Grüße,

Peter

@Chief Wiggum:

ja, ich habe es, letzter Thread erklärt den Fehler, die Frage dadrunter habe ich nur gestellt, weil ich nicht wusste, wie man eine Jar einbinden soll. Ich habe aber herausgefunden, dass zu sablevm auch java-sablevm mitgeliefert wird, auf der es möglich ist.

@kingofbrain

danke für die Hilfe, wenn es an retroweaver liegt, muss ich noch mal Gedanken darüber machen.

Trotzdem nochmal danke

Bist du dir sicher das du das JRE 1.4 auf deinem PC verwendet hast?

Denn wenn ich Retroweaver richtig verstanden habe dann entfernt er die 1.5 Java Sprachfeatures aber erkennt nicht welche Klassen oder Methoden mit Java 1.5 neu hinzugekommen sind.

Wenn du die Sourcen hast wäre es das einfachste wenn du sie nach 1.4 compilierst.

@Schiller 256

Ja ich bin mir sicher, weil ich einen absoluten Pfad nehme zum JRE1.4.

In der Zwischenzeit habe ich retroweaver rausgeschmissen und den retrotranslator genommen und damit hat er mir jetzt die erste Fehlermeldung vom Programm ausgegeben.

:D

Danke nochmal für die Hilfe.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.