mam problem z pisaniem gry

mam problem z pisaniem gry
CL
  • Rejestracja:około 7 lat
  • Ostatnio:prawie 7 lat
  • Postów:13
0

jest taki błąd/error:

Kopiuj
Exception in thread "main" java.lang.UnsupportedClassVersionError: Gra/Polacy/GrajMaf/Main has been compiled by a more recent version of the Java Runtime (class file version 53.0), this version of the Java Runtime only recognizes class file versions up to 52.0
	at java.lang.ClassLoader.defineClass1(Native Method)
	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$100(Unknown Source)
	at java.net.URLClassLoader$1.run(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)
	at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)

a kod źródłowy pliku main:

Kopiuj

package Gra.Polacy.GrajMaf;

import javax.swing.*;

import org.apache.logging.log4j.Logger;

import com.google.gson.Gson;
import com.sun.istack.internal.Nullable;

import Gra.Polacy.info.EventHandler;

import org.apache.logging.log4j.LogManager;

import ibxm.*;




public class Main extends JFrame implements Runnable 
{

	
	/**
	 * 
	 */
	private static final long serialVersionUID = 7667830679557742029L;

	private IBXM ibxm;

	private Gson gson;

	private Gra.Polacy.info.jfrom<Main> jfrom = new Gra.Polacy.info.jfrom<Main>();
	public Main()
	{
		ibxm = new IBXM(8013);
		
		java.lang.reflect.Type typ = null;
		try {
			typ = java.lang.reflect.Type.class.newInstance();
		} catch (InstantiationException | IllegalAccessException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		gson = new Gson();
		gson.notify();
		
		gson.fromJson("main.json", typ);
		
		
		setVisible(true);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setSize(780 + this.getInsets().bottom + this.getInsets().top, 780 + this.getInsets().left + this.getInsets().right);
	}
	
	
	
	public static void main(String[] args) 
	{
		// TODO Auto-generated method stub
		new Main().start();
	}

	private Thread t;
	
	@Nullable
	private static final Logger LOGGER = LogManager.getRootLogger();
	private static boolean RUNNING;
	
	

	
	
	@EventHandler
	private synchronized void start() 
	{
		
		
		
		t = new Thread(this, "Gra");
		RUNNING = true;
		t.start();
		
	}

	
	public static synchronized void stop(Thread t1)
	{
		RUNNING = false;
		t1.stop();
	}
	
	@Override
	public void run() {
		
		while(RUNNING)
		{
			ibxm.next_tick();
			
		}
		
	}

}


używam bibliotek: gson, ibxm(zmodyfikowałem) , guava, jinput, log4j api oraz core i jna

edytowany 3x, ostatnio: CePlusPlus_LOL
Spine
  • Rejestracja:około 22 lata
  • Ostatnio:8 minut
  • Postów:6706
1

zaktualizuj Javę


🕹️⌨️🖥️🖱️🎮
CL
  • Rejestracja:około 7 lat
  • Ostatnio:prawie 7 lat
  • Postów:13
0

jest aktualna więc nie wiem.

edytowany 1x, ostatnio: CePlusPlus_LOL
Silv
Moderator Wiki
  • Rejestracja:ponad 10 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Warszawa
0

"Exception in thread "main" java.lang.UnsupportedClassVersionError: Gra/Polacy/GrajMaf/Main has been compiled by a more recent version of the Java Runtime (class file version 53.0), this version of the Java Runtime only recognizes class file versions up to 52.0"

"Wyjątek w wątku "main" java.lang.UnsupportedClassVersionError..." -> https://docs.oracle.com/javase/10/docs/api/java/lang/UnsupportedClassVersionError.html

"...Gra/Polacy/GrajMaf/Main została skompilowana przez nowszą wersję Java Runtime (wersja pliku klasy 53.0), ta wersja Java Runtime rozpoznaje jedynie wersje pliku klasy do 52.0"

Nie znam się na Javie, ale mnie to wygląda, jakbyś kompilował program w jednym środowisku (=== w jednym systemie), a uruchamiał w drugim. Może aktualizacja środowiska Javy (JRE) jednak pomoże, a przynajmniej instalacja tej samej jego wersji?


UPDATE: Podaj, w jakiej wersji Javy ten program był kompilowany (jeśli możesz to sprawdzić), a jaką masz zainstalowaną. Tzn. sprawdź – i napisz tutaj, jeśli rzeczywiście są to te same wersje; wtedy będziemy szukać czego innego.


edytowany 3x, ostatnio: Silv
CL
  • Rejestracja:około 7 lat
  • Ostatnio:prawie 7 lat
  • Postów:13
0

mam jave 9.0.4 ale używam i odpalam w ósemce gdy kompiluję na 9 to taki sam error

jarekr000000
  • Rejestracja:ponad 8 lat
  • Ostatnio:około godziny
  • Lokalizacja:U krasnoludów - pod górą
  • Postów:4709
2

I dokładnie dlatego Ci nie działa.
Jak kompilujesz pod 9 to na 8 nie zadziała.


jeden i pół terabajta powinno wystarczyć każdemu
jarekczek
  • Rejestracja:prawie 8 lat
  • Ostatnio:ponad 4 lata
  • Lokalizacja:Siemianowice Śląskie
  • Postów:500
1

A dokładniej jest tak: w opcjach kompilacji (zależne od używanego narzędzia) określasz, na jakiej javie ma to chodzić. Na przykład: kompiluję na 9, ale będzie chodzić na 7. Jak zostawiłeś ustawienia domyślne, to będzie chodzić tylko na Javie >= 9.


Przeważnie ignoruję niezarejestrowanych użytkowników.
CL
  • Rejestracja:około 7 lat
  • Ostatnio:prawie 7 lat
  • Postów:13
0
jarekr000000 napisał(a):

I dokładnie dlatego Ci nie działa.
Jak kompilujesz pod 9 to na 8 nie zadziała.

lecz gdy kompiluje na 9 to ten sam error więc...

Zobacz pozostały 1 komentarz
Silv
Musisz albo skompilować w środowisku o wersji 8, albo skompilować w środowisku o wersji 9 z ustawieniem na 8. To jedyne dwie opcje, w których najprawdopodobniej to zadziała; jak na razie nie piszesz, żebyś którąś z nich wykorzystał.
CL
na razie to tylko skompilowałem na 9 z ustawieniami 8
Silv
I jeśli rezultat jest inny niż wyżej, to napisz w nowej odpowiedzi, co wyszło.
CL
Jest ten sam błąd lecz gdy spróbowałem drugiej opcji zadziałało. Dziękuje :)
Silv
Jeśli chcesz, możesz zaakceptować którąś odpowiedź, nawet tę, bo w sumie komentarze to prawie to samo.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.