Jak naprawić Javę.lang.UnsupportedClassVersionError: Unsupported major.wersja minor

Próbuję użyć Notepad++ jako mojego wszechstronnego narzędzia do edycji, uruchamiania, kompilacji itp.

Mam zainstalowany JRE i ustawiłem swoją zmienną path na../ katalog bin.

Kiedy uruchamiam mój "Hello world" w Notepad++, dostaję wiadomość:

java.lang.UnsupportedClassVersionError: test_hello_world :
 Unsupported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(Unknown Source)
       .........................................

Myślę, że problem dotyczy wersji; niektóre wersje Javy mogą być stare lub zbyt nowe.

  1. Jak to naprawić?
  2. Czy powinienem zainstalować JDK i zamiast tego ustawić zmienną path na JDK JRE?
  3. Jaka jest różnica pomiędzy zmienną PATH w JRE lub JDK?
Author: Taryn, 2012-04-30

30 answers

Pokazany numer wersji opisuje wersję JRE, z którą plik klasy jest kompatybilny.

Zgłoszone główne liczby to:

Java SE 11 = 55,
Java SE 10 = 54,
Java SE 9 = 53,
Java SE 8 = 52,
Java SE 7 = 51,
Java SE 6.0 = 50,
Java SE 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45

(Źródło: Wikipedia )

Aby rozwiązać rzeczywisty problem, należy spróbować uruchomić kod Javy z nowszą wersją Java JRE lub określić parametr docelowy kompilatora Javy, aby poinstruować kompilator, aby stworzył kod zgodny z wcześniejszymi wersjami Javy.

Na przykład, w celu wygenerowania plików klas kompatybilny z Java 1.4, użyj następującego wiersza poleceń:

javac -target 1.4 HelloWorld.java

W nowszych wersjach kompilatora Java prawdopodobnie pojawi się ostrzeżenie o nie ustawionej ścieżce klasy bootstrap. Więcej informacji na temat tego błędu można znaleźć w wpisie na blogunowe Ostrzeżenie javac dotyczące ustawiania starszego źródła bez ścieżki startowej.

 1789
Author: Juha Palomäki,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-14 15:58:23

java.lang.UnsupportedClassVersionError dzieje się z powodu wyższego JDK podczas kompilacji i niższego JDK podczas wykonywania.

 333
Author: Vivek Kumar Ray,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-06-28 06:48:56

W Eclipse, po prostu poszedłem do menu polecenia Okno -> Preferencje -> Java -> kompilatora , a następnie ustawić "Compiler compliance level" NA 1.6.

 112
Author: Cacovsky,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-23 18:34:23

Nie martw się, mam to rozwiązane.

Jest to w rzeczywistości proste - musisz zainstalować oba JRE / JDK z tą samą wersją.

JRE 6 - > JDK 6

JRE 7 - > JDK 7

I tak dalej.

 56
Author: ERJAN,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-12 20:22:50

Ten błąd oznacza, że próbujesz załadować plik Java "class", który został skompilowany z nowszą wersją Javy niż została zainstalowana.

Na przykład Twój plik .class mógł zostać skompilowany dla JDK 7, a ty próbujesz go uruchomić za pomocą JDK 6.

Więc rozwiązaniem jest albo:

  • Uaktualnij środowisko Java runtime lub
  • Przekompiluj klasę, jeśli masz źródło, używając lokalnego kompilatora Javy(jeśli go posiadasz).

    Javac Nazwa pliku.java

Dla programistów może się to zdarzyć, jeśli inny programista sprawdzi w .class file, i mają nowszą wersję Javy niż ty!

 38
Author: Brad Parks,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-27 01:31:56

Próbujesz uruchomić swój program w wersji Java, która nie obsługuje wersji, w której kod został skompilowany. więc w zasadzie musisz skompilować kod z wyższą wersją i spróbować uruchomić go za pomocą niższej wersji.

As you are getting

Unsupported major.minor version 51.0

I wersja 51.0 odpowiada J2SE 7 najprawdopodobniej skompilowałeś swój kod w Javie 7 i próbujesz go uruchomić używając niższej wersji. Sprawdź co wyświetla java -version. Powinno być Wersja Java 7. Jeśli nie, wprowadź odpowiednie zmiany w ścieżce / JAVA_HOME. Możesz też skompilować z tą samą wersją, którą próbujesz uruchomić kod. Jeśli konfiguracje są mylące, zawsze możesz podać ścieżkę bezwzględną /home/user/jdk1.7.0_11/bin/javac i /home/user/jdk1.7.0_11/bin/java.

 21
Author: Aniket Thakur,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-12 20:28:01

Miałem podobną sytuację na Macu i następujący proces zadziałał dla mnie:

W terminalu wpisz

vi ~/.profile

Następnie dodaj tę linię do pliku i zapisz

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk<version>.jdk/Contents/Home

Gdzie wersja jest ta na twoim komputerze, np. 1.7.0_25.

Wyjdź z edytora, a następnie wpisz następujące polecenie, aby stało się skuteczne

source ~/.profile 

Następnie wpisz java-version, aby sprawdzić wynik

java -version 

Co to jest .profile plik?

.plik profilu jest ukrytym plikiem. Jest to opcjonalny plik, który mówi systemowi, które polecenia należy uruchomić, gdy użytkownik, którego plik profilu jest zalogowany. Na przykład, jeśli moja nazwa użytkownika to bruno i jest .plik profilu w /Users / bruno/, cała jego zawartość zostanie wykonana podczas procedury logowania.

Źródło: http://computers.tutsplus.com/tutorials/speed-up-your-terminal-workflow-with-command-aliases-and-profile--mac-30515

 18
Author: Tony,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-04 12:15:57

W oknie menu Eclipse -> Preferencje -> Java -> kompilator Sprawdź także "Konfiguruj ustawienia specyficzne dla projektu".

Jeśli masz błąd w tej samej wersji Javy: spróbuj ręcznie usunąć folder budowania swojego projektu. Następnie uruchom ponownie Eclipse.

 16
Author: Andreas L.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-19 11:01:20

Możesz mieć bibliotekę jar skompilowaną w Javie 7, a jako Java Runtime masz tylko Javę 6. To może się zdarzyć z nowymi bibliotekami.

 14
Author: Rio,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-25 12:51:24

Najczęstszym problemem jest błędna konfiguracja zmiennej JAVA_HOME, która powinna wskazywać na właściwą bibliotekę Java Development Kit, jeśli zainstalowano kilka.

Aby dowiedzieć się, gdzie znajduje się folder SDK Java, uruchom następujące polecenia:

jrunscript -e 'java.lang.System.out.println(java.lang.System.getProperty("java.home"));'

Debian/Ubuntu

Aby sprawdzić, którą Javę (openjdk) zainstalowałeś, sprawdź:

dpkg -l "openjdk*" | grep ^i

Lub:

update-java-alternatives -l

Aby go zmienić, użyj:

update-alternatives --config java

przedrostek sudo w razie potrzeby.

To wybierz alternatywną wersję java.

Lub sprawdź, które są dostępne do zainstalowania:

apt-cache search ^openjdk

przedrostek sudo w razie potrzeby.

Następnie można zainstalować, na przykład:

apt-get install openjdk-7-jre

przedrostek sudo w razie potrzeby.

Fedora, Oracle Linux, Red Hat

Zainstaluj / zaktualizuj odpowiedni pakiet poprzez:

yum install java-1.7.0-openjdk java-1.7.0-openjdk-devel

Pakiet java-1.7.0-openjdk zawiera tylko środowisko Java Runtime Environment. Jeśli chcesz tworzyć programy Java to zainstaluj pakiet java-1.7.0-openjdk-devel.

BSD

Istnieje pakiet OpenJDK 7 w kolekcji portów FreeBSD o nazwie openjdk7 , który prawdopodobnie wymaga rekonfiguracji.

Zobacz: OpenJDK wiki page .

Okna

Wystarczy zainstalować odpowiednią bibliotekę Java SE Development Kit ze strony Oracle site lub zainstalować

Jenkins

Jeśli masz problem z Jenkinsem, zobacz:

Jednak wybranie odpowiedniej wersji Javy (nowszej) za pomocą update-alternatives powinno zadziałać.

 14
Author: kenorb,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-20 14:34:24

Miałem do czynienia z tym samym problemem, gdy pracowałem ze skryptemAnt , aby zbudować moją aplikację.

Używam Eclipse do tworzenia aplikacji i zmieniłem wersję kompilatora we właściwościach build projektu. Ale mi to nie pasowało. Potem dowiedziałem się, że mogę dostarczyć wersję kompilatora w skrypcie Ant.

Zmodyfikowałem skrypt Ant w sekcji, w której kompiluje pliki Java.

<target name="build-java" depends="prepare-build">
    <echo message="Compiling java files"/>
    <javac ....
           target="1.5"...
    </javac>
</target>

To pomogło mi rozwiązać nieobsługiwane poważny, drobny problem.

 12
Author: Mandar Pandit,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-12 20:29:21

Kiedy zainstalowałem JDK 1.7, problem został rozwiązany.

 12
Author: user3168034,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-12 20:29:44

Mam ten sam problem z projektem napisanym w 1.7 i próbowałem wykonać w 1.6.

Moje rozwiązanie w Eclipse:

  • Kliknij prawym przyciskiem myszy na swoim projekcie Properties - > Java Build Path - > Libraries

  • Wybierz bibliotekę systemową JRE i kliknij Edytuj po prawej stronie, a następnie wybierz docelową bibliotekę JRE.

  • Teraz przejdź do Java Compiler po lewej stronie i zmień poziom zgodności kompilatora na docelowy.

To mi pomogło.

 12
Author: Ben,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-07 14:28:54

Jak odpowiedziało w innym miejscu kilka osób, program Java jest uruchamiany na starszej wersji Javy niż ta, dla której został skompilowany. Musi być "crosscompiled" dla wstecznej kompatybilności. Innymi słowy, istnieje niedopasowanie między źródłowymi i docelowymi wersjami Javy.

Zmiana opcji w menu Eclipse nie odpowiada oryginalnemu plakatowi, który powiedział, że nie używa Eclipse. Na OpenJDK javac w wersji 1.7, można crosscompile dla 1.6 jeśli używasz parametrów -source i -target, Plus podaj rt.jar - plik docelowej wersji (czyli starszej) w czasie kompilacji. Jeśli faktycznie zainstalujesz 1.6 JRE, możesz wskazać jego instalację (na przykład /usr/lib/jvm/java-6-openjdk-i386/jre/lib/rt.jar na Ubuntu, /usr/jdk/jdk1.6.0_60/jre/lib/rt.jar na SunOS najwyraźniej. Sorry, Nie wiem gdzie to jest w systemie Windows). Tak:

javac -source 1.6 -target 1.6 -bootclasspath /usr/lib/jvm/java-6-openjdk-i386/jre/lib/rt.jar HelloWorld.java

Wygląda na to, że możesz po prostu pobrać rt.jar z Internetu i wskaż na niego. To nie jest zbyt eleganckie. chociaż:

javac -source 1.6 -target 1.6 -bootclasspath ./rt.jar HelloWorld.java
 11
Author: Mace Ojala,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-22 21:13:06

Na podstawie tego...

J2SE 8 = 52
J2SE 7 = 51
J2SE 6.0 = 50
J2SE 5.0 = 49
JDK 1.4 = 48
JDK 1.3 = 47
JDK 1.2 = 46
JDK 1.1 = 45

W Eclipse kliknij prawym przyciskiem myszy na project w Package explorer:

Buduj Ścieżkę -> Konfiguracja Ścieżki Budowania

Under:

Java Build Path -> Biblioteki -> Dodaj bibliotekę -> biblioteka systemu JRE -> zainstalowane JREs -> Szukaj .

Dodaj wymagane JRE, wybierając bibliotekę na liście dostępnej po zakończeniu wyszukiwania.

 10
Author: Adit Ya,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-12 20:52:33
  • Jeśli używasz Mavena, Ustaw swój poziom kompilacji Javy. Otwórz wiersz poleceń i napisz java -version dla Twojego poziomu kompilacji:

    Tutaj wpisz opis obrazka

  • Jeśli używasz IntelliJ IDEA, wybierz project → plikUstawieniawdrożenie realizacji budowykompilatorkompilator Javy . Następnie zmień kod bajtowy jako 1.7 jak ten obrazek:

    Tutaj wpisz opis obrazka

 10
Author: ethemsulan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-25 21:02:36

Miałem ten sam komunikat o błędzie podczas uruchamiania Ant z Eclipse, ale inne rozwiązania wymienione tutaj nie rozwiązały mojego problemu. Zabawne było to, że uruchamianie Ant z linii poleceń Windows działało dobrze, więc musiał to być problem z konfiguracją w Eclipse.

Okazało się, że pod Eclipse można określić środowisko, z którym ma działać Ant i zostało to ustawione jako JRE zamiast JDK.

  • przejdź do: Uruchom - > narzędzia zewnętrzne - > Narzędzia zewnętrzne Konfiguracje ...
  • Wybierz Ant build.xml dla Twojego projektu (jeśli masz wiele projektów)
  • Aktywuj zakładkę ' JRE '
  • tutaj wybrano 'Separate JRE: jre6'. Kiedy zmieniłem to na JDK z serii 1.6 lub 1.7, błąd zniknął.
 8
Author: ckielstra,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-12 20:43:38

Jak to naprawić?

Ten błąd oznacza, że JRE używane do wykonania kodu klasy nie rozpoznaje używanej wersji Javy. Zazwyczaj dlatego, że wersja Javy, która wygenerowała plik klasy (tzn. skompilowała go) jest nowsza.

Aby to naprawić, możesz albo

A) Skompiluj swoje źródła Javy za pomocą tej samej lub starszej wersji kompilatora Javy, która zostanie użyta do jego uruchomienia. tzn. zainstalować odpowiedni JDK.

B) Skompiluj swoje Źródła Javy z nowszą wersją kompilatora Javy, ale w trybie zgodności. tj. użyj parametru -target.

C) uruchamiaj skompilowane klasy w JRE, który jest tą samą lub nowszą wersją, co JDK używane do kompilacji klas.

Możesz sprawdzić wersje, z których aktualnie korzystasz javac -version dla kompilatora i java -version dla runtime.

Czy powinienem zainstalować JDK i ustawić moją zmienną PATH na JDK zamiast JRE?

Dla kompilacja, oczywiście, zainstalować i skonfigurować konkretne JDK, które chcesz.

W trybie runtime możesz użyć tego, który jest dostarczany z JDK lub samodzielnym JRE, ale niezależnie od tego, upewnij się, że zainstalowałeś odpowiednie wersje i skonfigurowałeś ścieżkę tak, aby nie było żadnych niespodzianek.

Jaka jest różnica między zmienną PATH w JRE lub JDK?

Zmienna środowiskowa PATH informuje powłokę poleceń, gdzie szukać polecenie, które wpisujesz. Po wpisaniu java, interpreter powłoki poleceń przejrzy wszystkie lokalizacje określone w zmiennej PATH, od lewej do prawej, aby znaleźć odpowiedni plik wykonywalny java do uruchomienia. Jeśli masz zainstalowane wiele wersji Javy - tzn. Masz plik wykonywalny java w wielu lokalizacjach określonych w zmiennej PATH, to pierwsza napotkana podczas przechodzenia od lewej do prawej będzie tą, która jest wykonywana.

Komenda kompilatora to javac i tylko z JDK. Polecenie runtime to java i pochodzi z JDK i znajduje się w JRE.

Jest prawdopodobne, że masz zainstalowaną jedną wersję (51.0 = Java 7) javac i masz również zainstalowaną tę samą wersję java, ale inna poprzednia wersja java pojawia się wcześniej w ścieżce i dlatego jest wywoływana zamiast tej, której oczekujesz.

 8
Author: Vihung,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-18 12:19:14

Jeśli napotkasz ten problem podczas korzystania zMaven , możesz skompilować swój kod za pomocą wtyczki Maven Compiler .

 <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>
       .....

UPDATE: Ustaw source i target na 1.8, Jeśli używasz JDK 8.

 8
Author: Thamme Gowda,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-30 20:33:32

Użyłeś wyższej wersji JDK do kompilacji i próby uruchomienia z niższej wersji JDK / JRE .

Aby to sprawdzić, zobacz informacje o wersji:

javac -version

java -version

Będą różne i javac będzie miał wyższy numer wersji.

Aby to obejść, Uruchom używając Javy z wersji JDK lub jeśli masz nowsze JRE / JDK, które również będą działać.

which javac poda lokalizację, na przykład /usr/bin/javac. Po prostu uruchom bezpośrednio używając /usr/bin/java <program>.

Lub ty może ustawić zmienną środowiskową jako stałe rozwiązanie.

 7
Author: L Lawliet,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-07 14:25:34

Miałem ten problem, gdy wróciłem do Java 6 i próbowałem uruchomić klasy wcześniej skompilowane z Java 7. U mnie zadziałało Preferencje > java > kompilator --> ustaw poziom zgodności na 1.6 i przede wszystkim "Konfiguruj ustawienia projektu"..

 6
Author: user3534268,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-15 03:09:37

Dzisiaj ten Komunikat o błędzie pojawił się w naszym Tomcat 7 na Ubuntu 12.04.2 LTS (Dokładnie Pangolin):

/var / log / tomcat7 / localhost.2014-04-08.log:
08.04.10, 09:00:55Apacz.catalina.rdzeń.StandardContext filterStart
SEVERE: Exception starting filter struts2
java.lang.UnsupportedClassVersionError: controller / ReqAccept : Unsupported major.mała wersja 51.0 (nie można załadować kontrolera klasy.ReqAccept)

The Struts aplikacja jest kompilowana z Java 7.

Okazało się, że ktoś używa "service tomcat [stop/start]" do restartu Tomcat 7,

$ PS-EF | grep java
tomcat7 31783 1 32 20:13 00: 00: 03 / usr / lib / jvm / default-java/bin / java...
$ / usr / lib / jvm / default-java/bin / java-version
wersja java "1.6.0_27"

Co powoduje " nieobsługiwany major.błąd w wersji 51.0".

Kiedy użyliśmy " / etc / init.d / tomcat7 [stop/start]" to uruchom ponownie Tomcat 7, problem został rozwiązany.

$ PS-EF | grep java
tomcat7 31886 1 80 20:24 00: 00: 10/usr/local/java/jdk1.7.0_15/bin / java
$ / usr / local / java / jdk1.7. 0_15/bin/java-version
wersja java "1.7.0_15"

 6
Author: oraclesoon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-12 20:51:17

Twój plik Java jest kompilowany z inną wersją (wyższą wersją kompilatora) niż wersja (niższa wersja runtime), z którą próbujesz go uruchomić.

Jest to podstawowe zrozumienie, że klasy skompilowane z niższymi wersjami powinny działać w późniejszych wyższych wersjach. Ale przeciwieństwo (skompilowane z wyższą wersją kompilatora i próba uruchomienia go z niższą wersją runtime) nie jest czasami całkiem możliwe.

Stąd pojawia się ten błąd, podczas próby wykonania program. nieobsługiwany major.minor version x. x

P: stworzyłem aplikację w Javie 7, ale kiedy moi użytkownicy próbują sprawdźcie to, dostaną nieobsługiwanego majora.drobny błąd w wersji 51.0. Co? czy to oznacza i co mogę z tym zrobić?

O: jeśli skompilujesz aplikację używając javac w Javie 7, wynikowe pliki klas będą miały numer wersji 51.0. Wersje Java przed 7 nie rozpoznaje tego numeru, więc użytkownicy będą mieli na przed uruchomieniem aplikacji należy uaktualnić do wersji Java 7. Jeśli nie jesteś używając dowolnego API Java 7 Możesz spróbować skompilować swoją aplikację za pomocą javac-target 1.6, aby utworzyć plik klasowy zgodny z 1.6. Jeśli aplikacja jest wdrażana przy użyciu webstart można określić minimum wymagana wersja. Aby uzyskać więcej informacji, zobacz dokumenty dotyczące Java Web Start i JNLP tutaj. Ten problem zniknie po uruchomieniu autoupdate do Java 7 dla użytkowników końcowych posiadających obecnie Java 6 na swoich pulpitach. Na oś czasu na to nie jest jeszcze ustalona, chcemy dać deweloperom czas najpierw rozpracować wszelkie problemy między ich kodem a JDK 7.

(źródło: oracle.com.)

 6
Author: Manohar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-25 21:05:03

Rozwiązałem to. Uciekłem:

JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386

Błąd jest mylący, Unsupported major.minor version 51.0. Sprawia to wrażenie, że wersja 51 (Java 7) nie jest obsługiwana. I powinniśmy użyć Javy 6.

Błąd powinien być:

Aktualna wersja Java, 50, nie jest obsługiwana. Zamiast tego użyj Javy w wersji 7 (51:0 i większej).`

 5
Author: Siddharth,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-07 14:30:01

Oh Mac OS X udało mi się rozwiązać ten problem ustawiając zmienną JAVA_HOME:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home
 5
Author: TomTom,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-09 09:10:19

Najpierw zacznijmy od podstaw...

JRE jest składnikiem w NetBeans/Eclipse / standalone, który zapewni Ci biblioteki, JVM, wtyczki Java i Java web start. Zauważ, że nie dostarcza kompilatorów ani debugerów.

JDK jest supersetem JRE wraz z kompilatorami i debuggerami.

Więc jeśli masz domyślną bibliotekę jako JRE zamiast JDK, będziesz miał miły czas importowania rzeczy, ale nie będzie / align = "left" /

Zamiast tego ustaw ścieżkę do JDK (używam NetBeans, i ustawiam je za pomocą netbeans.conf w netbeans / etc / netbeans.conf I zmienić ścieżkę).

 4
Author: Creative_Cimmons,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-12 20:46:25

Miałem problem, przez który musiałem uruchomić kompilację Mavena w moim projekcie z linii poleceń, aby uruchomić testy jednostkowe; jeśli zmieniłem klasę testową i pozwoliłem Eclipse automatycznie ją rekompilować, otrzymałem " nieobsługiwany major.błąd w wersji 51.0".

Mam zainstalowane zarówno JDK6, jak i JDK7, ale wszystkie moje ustawienia JRE wskazywały na 1.6, zarówno w pom, jak i na stronie Właściwości projektu w Eclipse. Brak ilości projektu aktualizacji Mavena i / lub odświeżania rozwiązałem to.

W końcu próbowałem zamknąć projekt i ponownie go otworzyć, a to wydawało się go naprawić! HTH

 3
Author: Matthew Wise,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-18 16:29:16

Skompilowałeś swoją klasę Javy z JDK 7 i próbujesz uruchomić tę samą klasę na JDK 6 .

 3
Author: Sagar Varpe,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-26 07:40:13
  • Zainstaluj JDK 7.0.55 i ustaw Javę dla Eclipse dla JDK 7.0.55.
  • Zbuduj projekt z JDK 7.0.55, konfigurując na ścieżce budowania JDK 7.0.55.
  • Ustaw kompilator w Eclipse dla JDK 7.0.55 przez menu Windows -> Preferencje -> Java -> kompilator - wybierz 1.7.
 3
Author: siddmuk2005,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-07 14:31:38

W moim przypadku problem był w konfiguracji runtime serwera:

Server Runtime Environment

Sprawdź, czy JRE jest wersją, której potrzebujesz:

Tutaj wpisz opis obrazka

Projekt był w wersji 1.7, a serwer JRE został ustawiony jako 1.6, po zmianie na właściwą wersję Javy uruchomił się dobrze.

 3
Author: Mike-Bell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-06 12:29:48