UnsatisfiedLinkError in Eclipse

Von: , 22.12.2010 12:24 Uhr

Hallo!

Ich habe mit Eclipse Helios Release (Build ID: 20100517-1415) ein neues Projekt angelegt & bekomme es nicht zum Laufen. Interessanter Weise haben sich früher andere Projekte auf dieser IDE übersetzten lassen & sind gelaufen. Die Fehlermeldungen in der Konsole bei dem neuen & allen anderen Projekten lautet: UnsatisfiedLinkError (s. u.). Ich wüsste nicht, was ich an der IDE verstellt habe, damit jetzt gar nichts mehr geht. Dass ich mich mit Eclipse gut auskenne, kann ich auch nicht sagen: ich bin nur ein Benutzer.

Ich habe mit http://mindprod.com/applet/wassup.html geschaut: die Java-Version ist bei mir 1.6.0_22 & somit nicht das Problem. Wie auf dieser Seite empfohlen habe ich im Applett (Microsoft Internet Explorer 9 beta) die Werte herausgelesen (s.u.).
Möglicher Weise ist ein Pfadproblem da, denn native code verwende ich selber nicht. Darum habe ich versucht, einen java.library.path hinzuzufügen, was aber nichts geholfen hat.

Wenn ich Eclipse aufrufe wähle ich den Arbeitspfad als C:\Users\<Benutzername>\workspace\Java. Der Kode des neuen Projekt befindet sich im Unterverzeichnis src\Chapter01.

Gehe ich nun im Package Explorer (links) auf das Projekt mit der rechten Maustaste & wähle "Close Unrelated Projects", dann schließen sich alle; allerdings bekomme ich dann statt der Fehlermeldung oben eine andere Meldung in einem Fenster:

Problem Occured_____________________________[_][O][x]

(x) 'Launching Main' has encountered a problem.
Launch configuration Main references closed project Mobile.
[ OK ] [ Details>> ]
____________________________________________________
Launch configuration Main references closed project Mobile
____________________________________________________

Öffne ich das vermeintlich benötigte Projekt 'Mobile', so bekomme ich wieder die normale Fehlermeldung UnsatisfiedLinkError in der Konsole.
Zur Information: Mein Projekt besteht derzeit aus einer einzigen Klasse:
/**
*
*/
//package Chapter01;

/**
*
*/
public class Apple {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

}
}

Danke für alle Hinweise!

Sae1962

_Fehlermeldung in der Konsole__________________________
Exception in thread "main" java.lang.UnsatisfiedLinkError: com.sun.midp.main.Configuration.getProperty0(Ljava/lang/String;)Ljava/lang/String;
at com.sun.midp.main.Configuration.getProperty0(Native Method)
at com.sun.midp.main.Configuration.getProperty(Configuration.java:32)
at com.sun.midp.lcdui.Resource.<clinit>(Resource.java:30)
at com.sun.midp.main.Main.initSystemLabels(Main.java:686)
at com.sun.midp.main.Main.main(Main.java:103)

_CMP Wassup-Ausgabe____________________________________
acl.write.default =

deployment.browser.path = C:\Program Files\Internet Explorer\iexplore.exe

deployment.cache.max.size = -1

deployment.console.startup.mode = HIDE

deployment.javapi.trace.filename =

deployment.javaws.concurrentDownloads = 4

deployment.javaws.home.jnlp.url = http://java.sun.com/products/javawebstart

deployment.max.output.file.size = 10

deployment.repository.askdownloaddialog.show = true

deployment.security.askgrantdialog.notinca = true

deployment.security.blacklist.check = true

deployment.security.sandbox.awtwarningwindow = true

deployment.security.sandbox.jnlp.enhanced = true

deployment.system.security.blacklist = C:\Program Files\Java\jre6\lib\security\blacklist

deployment.system.security.trusted.jssecerts = C:\Program Files\Java\jre6\lib\security\trusted.jssecerts

deployment.user.logdir = C:\Users\<Benutzername>\AppData\LocalLow\Sun\Java\Deployment\log

deployment.user.security.trusted.cacerts = C:\Users\<Benutzername>\AppData\LocalLow\Sun\Java\Deployment\security\trusted.cacerts

deployment.user.security.trusted.jssecacerts = C:\Users\<Benutzername>\AppData\LocalLow\Sun\Java\Deployment\security\trusted.jssecacerts

deployment.user.tmp = C:\Users\<Benutzername>\AppData\LocalLow\Sun\Java\Deployment\tmp

file.encoding.pkg = sun.io

java.endorsed.dirs = C:\Program Files\Java\jre6\lib\endorsed

java.home = C:\Program Files\Java\jre6

java.protocol.handler.pkgs = sun.plugin.net.protocol|com.sun.deploy.net.protocol

java.runtime.name = Java(TM) SE Runtime Environment

java.vendor.applet = true

java.vendor.url = http://java.sun.com/

java.vendor.url.bug = http://java.sun.com/cgi-bin/bugreport.cgi

java.version = 1.6.0_22

java.version.applet = true

package.restrict.access.org.mozilla.jss = true

sun.io.unicode.encoding = UnicodeLittle

sun.jnu.encoding = Cp1252

sun.net.client.defaultConnectTimeout = 120000

sun.os.patch.level = Service Pack 2

user.name = <Benutzername>

7 Antworten zu dieser Frage

  1. Antwort von nach 38 Minuten 0 hilfreich
    Re: UnsatisfiedLinkError in Eclipse

    Hey,
    was für Eclipse Plugins benutzt du denn? Denn es sieht so aus, als wenn deine JVM irgendwelchen native Code für die MIDP versucht zu laden und daran scheitert. Das ist J2ME Kram und da kenne ich mich nicht so gut aus.

    • Antwort von nach 45 Minuten 0 hilfreich
      Re^2: UnsatisfiedLinkError in Eclipse

      Hey,
      was für Eclipse Plugins benutzt du denn?
      Gute Frage! Offensichtlich ist von dem J2ME (JavaME) eine Einstellung irgendwo "hängengeblieben". Wo kann man denn nachschauen, welche Plugins für dieses/alle Projekte verwendet werden? Die J2ME plugins sollten NUR im 'Mobile'-Projekt zur Anwendung kommen. Offensichtlich kann man aber plugins für ALLE Projekte einstellen. Sonst verstehe ich nicht, wieso das neue Projekt nach J2ME fragt.

      Danke für die Unterstützung!

  2. Antwort von nach 48 Minuten 0 hilfreich
    Re: UnsatisfiedLinkError in Eclipse

    Hi,

    leider bin ich über die Feiertage nicht an meinem Rechner, sodass ich keine genauere Fehleranalyse betreiben kann.

    Aber, da du für jeden Hinweis dankbar bist, versuche ich das Problem mal zu erahnen:

    Exception in thread "main" java.lang.UnsatisfiedLinkError: com.sun.midp.main.Configuration.getProperty0(Ljava/lang/String;)Ljava/lang/String;

    Es handelt sich also um ein Midlet und es geht um Java ME? Jedenfalls hast du das Projekt so angelegt.

    => Midlets haben keinen "main"-Einstiegspunkt wie ein normales Javaprogramm, sondern werden über startApp() erzeugt.

    Wenn du also kein Midlet programmieren willst, dann erzeuge ein neues Javaprojekt. Das sollte dann ohne diese Fehlermeldung funktionieren.

    Falls du EclipseME nutzen solltest und ein normales Java-Projekt schreiben möchtest, dann empfehle ich dir "Eclipse IDE for Java Developers".

    Viele Grüße und ein frohes Fest,

    Sebastian_

    • Antwort von nach einer Stunde 0 hilfreich
      Re^2: UnsatisfiedLinkError in Eclipse

      Hi,

      [...] Es handelt sich also um ein Midlet und es geht um Java ME?
      Jedenfalls hast du das Projekt so angelegt.

      => Midlets haben keinen "main"-Einstiegspunkt wie ein normales
      Javaprogramm, sondern werden über startApp() erzeugt.
      Hmmm, stimmt! Das letzte Projekt davor war ein MIDlet-Projekt ('Mobile'). Daher der Name Bratkartoffel!

      Ich habe also das SCJP-Verzeichnis (so lautet der Projektname des neuen Projekts) total entfernt & bei Eclipse über "File" / "New" / "Java project" ein ganz neues Projekt eingegeben:

      New Java Project
      Create a Java Project.
      Create a Java project in the workspace or in an external location.

      Project name: SCJP

      []Use default location
      Location: C:\Users\Saban\workspace\Java\SCJP

      JRE
      (o)Use an execution environment JRE: "JavaSE-1.6"
      ()Use a project specific JRE: jre6

      usw....

      Dann bin ich auf [Finish] gegangen.

      Jetzt habe ich den Knopf "Java New Package" betätigt & das neue Paket "Chapter01" genannt.

      Dann habe ich die Klasse Apple hinzugefügt:
      /**
      *
      */
      package Chapter01;

      /**
      *
      */
      public class Apple {

      }

      Und dann einfach versucht, zu übersetzten.

      Meldung in der Konsole:
      Exception in thread "main" java.lang.UnsatisfiedLinkError: com.sun.midp.main.Configuration.getProperty0(Ljava/lang/String;)Ljava/lang/String;
      at com.sun.midp.main.Configuration.getProperty0(Native Method)
      at com.sun.midp.main.Configuration.getProperty(Configuration.java:32)
      at com.sun.midp.lcdui.Resource.<clinit>(Resource.java:30)
      at com.sun.midp.main.Main.initSystemLabels(Main.java:686)
      at com.sun.midp.main.Main.main(Main.java:103)

      Frage: Wie kommt Eclipse dazu, ein MIDlet für ein neues Projekt zu verwenden, wenn ich das gar nicht so eingestellt habe??

      Danke für die Hilfe!

    • Antwort von nach einem Tag 0 hilfreich
      Re^2: UnsatisfiedLinkError in Eclipse

      Hi,
      Ich habe eclipse mir neu vom Internet heruntergeholt, alle .eclipse & workspace Verzeichnisse entfernt, dann das Projekt neu angelegt. Jetzt geht es endlich wieder.

      Schöne Feiertage & ein gutes Neues Jahr 2011!

      • Antwort von nach einem Tag 0 hilfreich
        Re^3: UnsatisfiedLinkError in Eclipse

        Super ;-)

        Dann freue ich mich für dich und wünsche dir auch ein frohes Fest.

        Viele Grüße

        Sebastian_

  3. Antwort von nach 246 Tagen 0 hilfreich
    Re: UnsatisfiedLinkError in Eclipse

    Ich bitte um Entschuldigung - die Anfrage ist mir durchgelaufen. Ich hätte aber auch nciht helfen können.

    Viele Grüße

    Siegfried Möller

Jetzt auf diese Frage antworten.