# Kann mein Java Programm nicht starten



## micha2233 (2. Aug 2011)

Ich nutze Windows 7 64 bit und den intelliJ als Editor. Ich kann aber mein Programm nicht starten. Die Klasse habe ich Guthaben genannt und die Datei heiß auch so. Woran liegt es?

das ist der Pfad der Umgebungsvariablen

C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Java\jdk1.7.0\bin


```
"C:\Program Files\Java\jdk1.7.0\bin\java" -Didea.launcher.port=7535 "-Didea.launcher.bin.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 10.5.1\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.7.0\jre\lib\alt-rt.jar;C:\Program Files\Java\jdk1.7.0\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.7.0\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.7.0\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.7.0\jre\lib\jce.jar;C:\Program Files\Java\jdk1.7.0\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.7.0\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.7.0\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.7.0\jre\lib\resources.jar;C:\Program Files\Java\jdk1.7.0\jre\lib\rt.jar;C:\Program Files\Java\jdk1.7.0\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.7.0\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.7.0\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.7.0\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.7.0\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.7.0\jre\lib\ext\zipfs.jar;C:\Entwicklungsordner\java\intellij_projects\out\test\HelloWorld;C:\Entwicklungsordner\java\intellij_projects\out\production\HelloWorld;C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 10.5.1\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain org.sts.Guthaben
Exception in thread "main" java.lang.ClassNotFoundException: org.sts.Guthaben
	at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:186)
	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:113)

Process finished with exit code 1
```


----------



## nillehammer (2. Aug 2011)

1. Die ganzen jre-Libs gehören nicht in den -cp Parameter. Lösche diese
2. Du willst ja nicht den IntelliJ starten, sondern Deine Applikation. Entferne also auch den IntellJ-Kram aus Deinemn Aufruf.
3. Du musst java von dem Ordner aus ausführen, wo Deine packages (org.sts....) losgehen.
4. Deine Klasse org.sts.Guthaben braucht eine main-Methode (Ist doch Deine Applikation oder?)


----------



## micha2233 (2. Aug 2011)

Das ist meine Aplikation. Ich komme mit dem intelliJ nicht klar. Der ist sicherlich für Fortgeschrittene. Vielleicht könnte mir einer helfen wie und was für Einstellungen ich unter JavaEditor vornehmen muss. Wäre wirklich dankbar

PS. Die ganzen Fehler hat der intelliJ ausgespuckt


```
import javax.swing.*;

public class Guthaben {
public static void main( String[] args ) {
int guthaben = 100;
int betrag = 0;
String text = "";
while ( guthaben > 0 ) {
text = "Ihr Guthaben: " + guthaben + " \u20AC";
text += "\nAuszahlungsbetrag:";
// Eingabeblock:
JTextField[] feld = {new JTextField()};
Object[] msg = {text, feld[0]};
int click = JOptionPane.showConfirmDialog(null, msg, "Eingabe", 2);
betrag = Integer.parseInt( feld[0].getText() );
guthaben -= betrag;
}
text = "Ihr Guthaben ist aufgebraucht!";
text += "\nEs betr\u00E4gt nun " + guthaben + " \u20AC.";
JOptionPane.showMessageDialog(null,text);
}
}
```


----------



## turtle (2. Aug 2011)

Wieso steht da was von org.sts.Guthaben aber Deine Klasse Guthaben ist NICHT in dem Package.


----------



## micha2233 (2. Aug 2011)

vielleicht hilft Dir mein Verzeichnis weiter







würde mich über eine Abhilfe freuen


----------



## turtle (2. Aug 2011)

Dann muss Deine Klasse ein package-Statement in der ersten Zeile haben:

```
package org.sts.test;
```

Aufrufen kannst Du das Programm im Verzeichnis, unter dem sich die Klassendateien befinden:

```
classes
  org
     sts
        test
          Guthaben.class
```

Also danach aus classes heraus mit java org.sts.test.Guthaben


----------



## nillehammer (2. Aug 2011)

> Ich komme mit dem intelliJ nicht klar. Der ist sicherlich für Fortgeschrittene.


Eigentlich nicht. Ist halt ne ganz normale IDE. Obwohl die hardcore Cracks alle IntelliJ benutzen. Ich benutze Eclipse. Bin ich wohl kein hardcore Crack ;(.

Das musst Du machen, um Dein Programm zu starten:
Entweder im IntellyJ irgendwo auf sowas wir "Run as Application" clicken. Wie gesagtm, ich benutze Eclipse, deswegen kenn ich die genaue Bezeichnung des Menüpunktes/Buttons nicht.

Oder Kommandozeile.
-Hier in das Verzeichnis wechseln, in das der IntelliJ die class-Dateien kompiliert (das ist *nicht* das src-Verzeichnis)
-Folgendes eingeben: java org.sts.*test*.Guthaben
Nach dem Screenshot zu urteilen, sieht es nämlich so aus, als Sei Deine Klasse in org.sts.test und nicht in org.sts. Vielleicht war das auch schon beim ersten Mal die Ursache.


----------

