Compiler-Fehler UnsupportedClassVersionError

absolut85

Mitglied
Hallo Java Team,

also ich habe das letzte mal vor einem Monat programmiert und wollte heute wieder was machen, jedoch bekomm ich folgende Fehlermeldung und ich habe keine Ahnung warum! Ich benutze Notepad++ um Java Basics zu programmieren.

Java:
Exception in thread "main" java.lang.UnsupportedClassVersionError: AufgabeAcht :
 Unsupported major.minor version 51.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(Unknown Source)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$000(Unknown Source)
        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: AufgabeAcht.  Program will exit.
Drücken Sie eine beliebige Taste . . .
 
G

Gast2

Gast
Der Code wurde mit nem Java7 kompiliert und du versuchst ihn mit nem Java6 auszuführen.

Kompilierst du auf der Konsole?
Dann schau mal was
Code:
java -version
und
Code:
javac -version
ausgeben.
 

absolut85

Mitglied
Danke für die schnelle Antwort, also ich wüsste nicht das ich da ein Update gemacht hätte aber gut :)

Habe nun deine zwei sachen in der CMD eingegeben:

Java:
C:\Users\Gregor>java -version
java version "1.7.0_02"
Java(TM) SE Runtime Environment (build 1.7.0_02-b13)
Java HotSpot(TM) 64-Bit Server VM (build 22.0-b10, mixed mode)

C:\Users\Gregor>javac -version
javac 1.7.0_02
 
G

Gast2

Gast
Wenn du den Code über die Konsole kompilierst und auch über die Konsole ausführst solltest du damit keine Probleme haben. Oder wie genau machst du das bei dir?
 

absolut85

Mitglied
Also wie gesagt ich mach das im Notepad und der öffnet mir mit einem tastenkürzel das CMD.

ich habe sowas ähnliches wie das hier vom Prof. bekommen:

Unter Downloads finden Sie die Datei RunJava.bat. Diese enthält ein Skript zum Kompilieren und Ausführen der aktuell geöffneten Java-Datei. Kopieren Sie die Datei RunJava.bat in das Verzeichnis der Notepad++-Installation, z.B. C:\Programme\Notepad++.
In Notepad++ gibt es einen Menüeintrag "Ausführen/Ausführen...F5". Es erscheint ein Dialog mit einem Feld zum Eintragen des Befehls.
Tragen Sie hier folgenden Befehl ein: "$(NPP_DIRECTORY)\RunJava.bat" "$(CURRENT_DIRECTORY)" "$(FILE_NAME)" "$(NAME_PART)". Achtung: Hochkomma genau wie angegeben schreiben!
Speichern Sie den Befehl mit "Speichern" unter einem entsprechenden Namen, z.B. "RunJava". Damit können Sie mit diesem Befehl die aktuell geöffnete Datei einfach kompilieren und ausführen.
 

absolut85

Mitglied
wenn ich einen doppelklick drauf mache, sieht es so aus. aber was ich nicht verstehe ist, das es vor einem monat noch alles geklappt hat?

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

Drücken Sie eine beliebige Taste . . .
 

absolut85

Mitglied
gut, dann kommt das:

Java:
@echo off

REM Run in Notepad++ with:
REM "$(NPP_DIRECTORY)\RunJava.bat" "$(CURRENT_DIRECTORY)" "$(FILE_NAME)" "$(NAME_PART)"

REM Compile Java
REM d:
cd %1

javac %2

REM Skip Running Java on error
if errorlevel 1 goto end

REM Run Java
java %3

:end
pause
 

Ähnliche Java Themen

Neue Themen


Oben