# Java läuft nicht richtig



## DarthSion (18. Nov 2010)

Hallo,

Nachdem ich nun Windows 7 auf meinem Rechner habe, musste ich feststellen, dass wohl irgendwo in meiner Java-Installation was schiefgegangen ist: Java wird zwar erkannt über cmd -> java -version, allerdings lassen sich keinerlei .jar Dateien ausführen (Definitiv kein Fehler in den .jar-Dateien, denn auf meinem Laptop funktionieren sie einwandfrei). Der Prozess javaw.exe startet, und beendet sich gleich wieder. Deinstallation und erneute Installation von Java hat leider nichts gebracht. Auch BlueJ, welches ich schon seit einiger Zeit nutze, macht nichts mehr. Es können keine Projekte angelegt oder geöffnet werden etc.

Was BlueJ noch kann ist "Open Recent...", also z.B. das letzte Projekt öffnen. Sobald ein Projekt geöffnet ist, kann ich auch Klassen erstellen, compilen und ausführen. Nur kein Neues Projekt, Projekt öffnen, "Open Non-BlueJ" funktioniert auch nicht.

Bin hier echt am verzweifeln, woran könnte das liegen?

Danke im Voraus.


----------



## XHelp (18. Nov 2010)

Was sagt denn die Konsole dazu, wenn du darüber die jar startest?

P.S. dass BlueJ nicht läuft ist ein höheres Zeichen, hör auf den Willen des Computergottes...


----------



## DarthSion (18. Nov 2010)

```
C:\>java -jar criticalmass.jar
Exception in thread "main" java.lang.NullPointerException
        at sun.awt.shell.Win32ShellFolder2$7.call(Unknown Source)
        at sun.awt.shell.Win32ShellFolder2$7.call(Unknown Source)
        at sun.awt.shell.Win32ShellFolderManager2$ComInvoker.invoke(Unknown Source)
        at sun.awt.shell.ShellFolder.invoke(Unknown Source)
        at sun.awt.shell.ShellFolder.invoke(Unknown Source)
        at sun.awt.shell.Win32ShellFolder2.getFileSystemPath(Unknown Source)
        at sun.awt.shell.Win32ShellFolder2.access$300(Unknown Source)
        at sun.awt.shell.Win32ShellFolder2$2.call(Unknown Source)
        at sun.awt.shell.Win32ShellFolder2$2.call(Unknown Source)
        at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
        at java.util.concurrent.FutureTask.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at sun.awt.shell.Win32ShellFolderManager2$ComInvoker$3.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

C:\>
```

oder:



```
C:\>java criticalmass.jar
Exception in thread "main" java.lang.NoClassDefFoundError: criticalmass/jar
Caused by: java.lang.ClassNotFoundException: criticalmass.jar
        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 sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: criticalmass.jar.  Program will exit.

C:\>
```


Zu BlueJ: Wird bei uns an der Uni benutzt und propagiert, da komme ich also nicht drum herum.


----------



## XHelp (18. Nov 2010)

Das 2. ist sowieso falsch, deswegen ist die Fehlermeldung normal.
Hast du schon versucht jdk neuzuinstallieren?

@BlueJ: Hm... hoffentlich lernt ihr dann wenigstens was eine main-methode ist


----------



## DarthSion (18. Nov 2010)

Ja, ich habe komplett JDK und JRE rausgehauen, und sogar die registry nach Überresten durchforstet. Habe ja einen fehlerhaften Eintrag vermutet, der auf eine alte Version verweist, aber da habe ich nichts gefunden. Habe trotzdem mal ales entsorgt, was auffindbar war, aber das Problem besteht weiterhin.


----------



## Mofi (18. Nov 2010)

DarthSion hat gesagt.:


> Ja, ich habe komplett JDK und JRE rausgehauen, und sogar die registry nach Überresten durchforstet. Habe ja einen fehlerhaften Eintrag vermutet, der auf eine alte Version verweist, aber da habe ich nichts gefunden. Habe trotzdem mal ales entsorgt, was auffindbar war, aber das Problem besteht weiterhin.



Hast du auch den path/classpath in den Umgebungsvariabeln mal angeschaut ob der noch stimmt? Vllt hat sich da was verzettelt.


----------



## DarthSion (18. Nov 2010)

in PATH und CLASSPATH war zwar noch ein Fehler (Program Files (x86) anstatt nur Program Files), aber das Problem besteht leider weiterhin...


----------



## FerFemNemBem (18. Nov 2010)

Halloechen,

loesche mal diese "komsichen" Wrapper "java.exe" und "javaw.exe" Aus Deinem "[Windows]/System32" Verzeichnis und setzt Deinen Systempfad mit auf das "bin" des JDK.

Gruss, FFNB.


----------



## DarthSion (18. Nov 2010)

Blöde Frage: Wo ändere ich den Systempfad? Falls du die PATH variable meinst, die steht schon auf dem bin.

Nach löschen der java.exe und javaw.exe im system32 ändert sich die Fehlermeldung wie folgt:


```
C:\>java -jar criticalmass.jar
Exception in thread "main" java.lang.NullPointerException
        at sun.awt.shell.Win32ShellFolder2$7.call(Win32ShellFolder2.java:553)
        at sun.awt.shell.Win32ShellFolder2$7.call(Win32ShellFolder2.java:550)
        at sun.awt.shell.Win32ShellFolderManager2$ComInvoker.invoke(Win32ShellFolderManager2.java:523)
        at sun.awt.shell.ShellFolder.invoke(ShellFolder.java:399)
        at sun.awt.shell.ShellFolder.invoke(ShellFolder.java:385)
        at sun.awt.shell.Win32ShellFolder2.getFileSystemPath(Win32ShellFolder2.java:550)
        at sun.awt.shell.Win32ShellFolder2.access$300(Win32ShellFolder2.java:55)

        at sun.awt.shell.Win32ShellFolder2$2.call(Win32ShellFolder2.java:286)
        at sun.awt.shell.Win32ShellFolder2$2.call(Win32ShellFolder2.java:284)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at sun.awt.shell.Win32ShellFolderManager2$ComInvoker$3.run(Win32ShellFolderManager2.java:492)
        at java.lang.Thread.run(Thread.java:662)

C:\>
```


----------



## FerFemNemBem (18. Nov 2010)

Halloechen,

wenn es im PATH steht, dann passt es ja. Den Systempfad aenderst Du z.B. via Rechtsklick auch "Computer" -> "Eigenschaften" -> "Erweiterte Systemeinstellungen" dort im Tab "Erweitert" "Umgebungsvariablen". Da kannst Du das User- und Systemenvironment einstellen.

Ansonsten sieht Dein Problem ein wenig hiernach aus...

Gruss, FFNB.


----------



## DarthSion (18. Nov 2010)

Falls es irgendetwas nutzt, hier der Inhalt der PATH Variablen:


```
C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\Java\jdk1.6\bin
```

Das nervt schon, dass da nichts funktioniert. Habe grade noch mal BlueJ, Java und alles was dazugehört entsorgt, die Registry gereinigt, neu gestartet und Java neu installiert. Das Problem besteht immer noch. Das ist doch zum verzweifeln... ;(

Was mir grade noch auffällt: Auf dem Laptop ist der PATH für Java gar nicht gesetzt und trotzdem funktioniert alles. ???:L


----------



## FerFemNemBem (18. Nov 2010)

Halloechen,

dein PATH ist soweit ok. Auf dem Anderen Rechner ist aber ganz sicher auch "%SystemRoot%\system32" gesetzt und da liegen ja diese Wrapper...

Hast Du denn mal auf den Link in meinem letzten Posting geklickt?

Gruss, FFNB.


----------



## DarthSion (18. Nov 2010)

Den Link habe ich mir angesehen, aber der hilft mir nicht wirklich weiter, denn:



> Workarounds: N/A



Scheint aber genau das Problem zu sein. In jedem Fall wirft die Konsole bei dem Bug das gleiche aus, wie bei mir.

Auf meinem Laptop läuft noch version 1.6.0_16, hier ist es schon 1.6.0_22. Zudem ist der Laptop auf XP Tablet und nicht auf Win 7. Evtl kann ich auf eine ältere Java-Version zurückgreifen, werde das mal testen.

Mit 1.6.0_16 hänge ich dann an diesem Bug: Bug ID: 6544857 Regression:javax/swing/JFileChooser/4673161/bug4673161.java test fails and throws IOException..

Wenn die criticalmass.jar von mir wäre, könnte ich da auch den workaround aus dem letzten Kommentar mit einbauen. Aber da das leider nicht der Fall ist, stehe ich blöd da. Werde mal zu 1.5.0 oder so zurücksetzen und schauen was es bringt. Hoffe, der aktuelle Fehler wird bald entfernt.

Auch wenn das Problem weiterhin besteht: Danke fürs helfen. Jetzt weiß ich wenigstens, woran es liegt. Blöd, dass man nichts dagegen tun kann...


----------

