# Java-Editor: "Starten" bringt Error



## Kyklomatos (29. Jan 2014)

Hallo!
Ich habe gerade den Java-Editor auf meinem PC installiert.
Zum Testen Habe ich mal das hier eingegeben:


```
public class Test1 {
  
  public static void main(String[] args) {
    System.out.println("Hallo");
  } // end of main

} // end of class Test1
```

Ein Klick auf "Starten" bringt das hier:

Compiliere C:\Users\Thomas\Documents\Test1.java mit Java-Compiler
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Unrecognized option: -O

Ein Eintrag der Systemvariablen "_JAVA_OPTIONS" bringt auch nichts.

Wo liegt der Fehler?


----------



## Machareder (29. Jan 2014)

Ich benutze zwar Eclipse(<- was ich auch nur empfehlen kann) und habe somit eigentlich so gut wie keine Ahnung woran dein Fehler liegen könnte.
Aber:
Hast du JDK installiert?
Java SE Development Kit 7 - Downloads | Oracle Technology Network | Oracle
Das könnte vllt dein Problem beheben


----------



## Kyklomatos (29. Jan 2014)

Das bringt leider auch nichts.


----------



## Machareder (29. Jan 2014)

hast du mal die Konsole geöffnet(cmd)

und einfach nur den Befehl 
	
	
	
	





```
javac -version
```
 eingegeben?


----------



## Machareder (29. Jan 2014)

oder hast du schoneinmal probiert ohne extra programm zu kompilieren und auszuführen?


----------



## Kyklomatos (29. Jan 2014)

Du meinst wohl "java":
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Alle Rechte vorbehalten.

C:\Users\Thomas>javac
Der Befehl "javac" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

C:\Users\Thomas>java
Picked up _JAVA_OPTIONS: -Xmx512M
Verwendung: java [-options] class [args...]
           (zur Ausf³hrung einer Klasse)
   oder  java [-options] -jar jarfile [args...]
           (zur Ausf³hrung einer JAR-Datei)
wobei options Folgendes umfasst:
    -d32          Verwendet ein 32-Bit-Datenmodell, sofern verf³gbar
    -d64          Verwendet ein 64-Bit-Datenmodell, sofern verf³gbar
    -server       zur Auswahl der "server" VM
    -hotspot      ist ein Synonym f³r die "server" VM  [verworfen]
                  Die Standard-VM ist server.

    -cp <Klassensuchpfad von Verzeichnissen und ZIP-/JAR-Dateien>
    -classpath <Klassensuchpfad von Verzeichnissen und ZIP-/JAR-Dateien>
                  Eine durch ; getrennte Liste mit Verzeichnissen, JAR-Archiven
                  und ZIP-Archiven zur Suche nach Klassendateien.
    -D<name>=<value>
                  Legt eine Systemeigenschaft fest
    -verbose:[class|gc|jni]
                  Aktiviert die Verbose-Ausgabe
    -version      Druckt Produktversion und beendet das Programm
    -version:<value>
                  Erfordert die angegebene Version zur Ausf³hrung
    -showversion  Druckt Produktversion und fõhrt fort
    -jre-restrict-search | -no-jre-restrict-search
                  Bezieht private JREs des Benutzers in Versionssuche ein bzw. s
chlie▀t sie aus
    -? -help      Druckt diese Hilfemeldung
    -X            Druckt Hilfe zu Nicht-Standardoptionen
    -ea[:<packagename>...|:<classname>]
    -enableassertions[:<packagename>...|:<classname>]
                  Aktiviert Assertionen mit angegebener Granularitõt
    -da[:<packagename>...|:<classname>]
    -disableassertions[:<packagename>...|:<classname>]
                  Deaktiviert Assertionen mit angegebener Granularitõt
    -esa | -enablesystemassertions
                  Aktiviert Systemassertionen
    -dsa | -disablesystemassertions
                  Deaktiviert Systemassertionen
    -agentlib:<libname>[=<options>]
                  Lõdt native Agent Library <libname>, z.B. -agentlib:hprof
                  siehe auch -agentlib:jdwp=help und -agentlib:hprof=help
    -agentpath:<pathname>[=<options>]
                  Lõdt native Agent Library nach vollem Pfadnamen
    -javaagent:<jarpath>[=<options>]
                  Lõdt Java-Programmiersprachen-Agent, siehe java.lang.instrumen
t
    -splash:<imagepath>
                  Zeigt Startbildschirm mit angegebenem Bild
Weitere Einzelheiten finden Sie unter Error Page 404
ase/documentation/index.html


Also mir hilft das gar nicht.


----------



## Machareder (29. Jan 2014)

nein ich meine javac 
dir fehlt die oben gepostet software ^^


----------



## Machareder (29. Jan 2014)

Hier wirds auch gut erklärt:
Java Blog Buch : 01.03 Java installieren


----------



## Big-Taylor (29. Jan 2014)

Wie man bei deiner Konsolenausgabe erkennen kann, hast du das JDK noch nicht auf deinen Rechner geladen und installiert.
Wenn du das getan hast, sollten unter "Programme\Java" zwei Ordner zu finden sein. "jre7" und jdk1.7.*.
Sollte dies so oder so ähnlich sein, hast du das JDK schon mal erfolgreich installiert. 
Nun kannst du gerne in der Konsole nochmals den Befehl "javac" (das ist der Java-Compiler) probieren.
Sollte abermals eine Fehlermeldung kommen, musst du die Umgebungsvariablen anpassen, also Java in Windows einbinden.
Startmenue--> Rechtsklick auf "Computer" --> auf "Eigenschaften" --> auf "erweitere Systemeinstellungen" --> "Umgebungsvariablen". Im unteren Fester auf "PATH" klicken und bearbeiten. Dort fügst du folgenden Pfad hinzu: C:\Programme\Java\jdk1.7.*\bin. Sternchen musst du natürlich ersetzen mit der Version die du installiert hast. Wichtig ist aber, dass du den Pfad hizufügst und nicht ersetzt.
Danach sollte der Befehl "javac" in der Konsole funktionieren.


----------



## Kyklomatos (29. Jan 2014)

Big-Taylor hat gesagt.:


> auf "PATH" klicken und



"PATH" habe ich nicht, nur "Path". Und der hat was mit den AVR Tools zu tun.
Soll ich "PATH" erstellen?

Außerdem habe ich zwei JDKs, 1.7.0_25 und 1.7.0_51. beißen die sich irgendwie?


----------



## Big-Taylor (29. Jan 2014)

Ich meinte natürlich "Path". Manchmal hängt einfach die Taste....  
Brauchst also nicht eine Variable neu anlegen. Ich hab mal 'n Bild
drangehangen, wie es bei mir ausschaut. Also einfach den Pfad zur bin-Datei
zwischen zwei Semikola (oder Semikolons) einfügen, speichern und fertig.


----------



## Kyklomatos (29. Jan 2014)

Super, jezt geht es, Danke!

C:\Users\Thomas>javac
Picked up _JAVA_OPTIONS: -Xmx512M
Usage: javac <options> <source files>
where possible options include:
  -g                         Generate all debugging info
  -g:none                    Generate no debugging info
  -g:{lines,vars,source}     Generate only some debugging info
  -nowarn                    Generate no warnings
  -verbose                   Output messages about what the compiler is doing
  -deprecation               Output source locations where deprecated APIs are u
sed
  -classpath <path>          Specify where to find user class files and annotati
on processors
  -cp <path>                 Specify where to find user class files and annotati
on processors
  -sourcepath <path>         Specify where to find input source files
  -bootclasspath <path>      Override location of bootstrap class files
  -extdirs <dirs>            Override location of installed extensions
  -endorseddirs <dirs>       Override location of endorsed standards path
  -proc:{none,only}          Control whether annotation processing and/or compil
ation is done.
  -processor <class1>[,<class2>,<class3>...] Names of the annotation processors
to run; bypasses default discovery process
  -processorpath <path>      Specify where to find annotation processors
  -d <directory>             Specify where to place generated class files
  -s <directory>             Specify where to place generated source files
  -implicit:{none,class}     Specify whether or not to generate class files for
implicitly referenced files
  -encoding <encoding>       Specify character encoding used by source files
  -source <release>          Provide source compatibility with specified release

  -target <release>          Generate class files for specific VM version
  -version                   Version information
  -help                      Print a synopsis of standard options
  -Akey[=value]              Options to pass to annotation processors
  -X                         Print a synopsis of nonstandard options
  -J<flag>                   Pass <flag> directly to the runtime system
  -Werror                    Terminate compilation if warnings occur
  @<filename>                Read options and filenames from file


C:\Users\Thomas>


Aber was genau soll das jetzt ändern?
Funktionieren tut es immer noch nicht...


----------



## Big-Taylor (29. Jan 2014)

Also ich find schon mal gut, dass du die Grundlagen von Java ohne die Hilfe von irgendwelchen IDEs erlernen möchtest.
So geht's zum ersten Java-Programm.
Zum ersten brauchst du die Konsole. Zum zweiten einen Texteditor. Ich kann dir Notepad++ empfehlen, da der eine Syntaxerkennung hat. Kannst aber auch jeden anderen Editor nehmen.
Du schreibst dein Java-Quellcode in deinem Texteditor. Zum Beispiel:

```
public class HelloWorld{
   public static void main(String[] args){
      System.out.println("HelloWorld");
   }
}
```
Und speicherst diese Datei in einem Ordner ab. Dazu muss!! der Name der Datei den Namen der Klasse mit der Main-Methode tragen. Hinzu kommt die Endung *.java
Für das obige Beispiel also "HelloWorld.java".
Jetzt wechselst du zur Konsole und gehst mittels cd in den Ordner, in dem deine *.java-Datei steckt. Nun
gibst du als Befehl "javac HelloWorld.java" ein. Wenn dein Programm korrekt ist, erzeugt der Compiler eine *.class-Datei. Diese Datei enthält den sogenannten Byte-Code. Enthält dein Programm irgend welche Fehler, erfolgt eine Fehlermeldung.
War also das Compilieren erfolgreich, gibst du nun den Befehl " java HelloWorld" ein (also "java " + Klassenname ohne *.java). Das ist der Befehl, mit dem du das Programm startest.
Jetzt sollte in der Konsole "HelloWorld" zu lesen sein.


----------



## Kyklomatos (29. Jan 2014)

Ja so geht es.
Aber um genau dieses Aufwändige Procedere zu umgehen, habe ich mir ja den Java-Editor installiert (wie oben erwähnt).
Da klickt man einfach auf "Start" und man bekommt "HalloWelt" in der Konsole.
Wir benutzen ihn auch in der Schule, daher würde ich nur ungern etwas anderes nehmen.

Muss man ihn vielleicht irgendwie speziell einstellen damit er funktioniert?

Danke für eure Bemühungen!


----------



## Big-Taylor (29. Jan 2014)

Also du willst eine IDE für Java benutzten, wie Eclipse oder NetBeans!?
Dann musst du bitte mal genau den Verlauf bis zum Auftauchen deines Problems beschreiben. Denn ist die Path-Variable angepasst, sollte die IDE nach Installation problemlos funktionieren.


----------



## Machareder (30. Jan 2014)

Also zwei kleine Dinge:
1. Ich hab mir mal den Java Editor angeschaut(<- wusste nicht einmal, dass es so etwas h... nicht schönes existiert).



Spoiler



Meine Meinung 


2. Wenn du nur so etwas wie Hello World ausgeben möchtest, oder mit Schleifen/Bedingungen arbeitest, dann kannst du eigentlich jede Entwicklungsumgebung nutzen. Da dein Code immer der selbe bleibt, du nur bei z.B eclipse(<-Ja ich finde eclipse super) auf einen anderen start/ausführen Button klickst als bei dem Java Editor.

Jetzt aber mal was grundsätzliches: 
Wenn du neu anfängst Java zu lernen, dann wäre es nicht gerade schlecht wenn du zuerst einmal alles über cmd compilierst/ausführst. (Man kann nicht besser am Anfang starten, glaub mir )


----------

