Portál AbcLinuxu, 12. května 2025 08:03
public class Prvni { public static void main(String[] args) { System.out.println("Pokus o pokus."); } }Tento program lze přeložit, ale nelze spustit.
Exception in thread "main" java.lang.ClassFormatError: Prvni (unrecognized class file version) at java.lang.VMClassLoader.defineClass(libgcj.so.70) at java.lang.ClassLoader.defineClass(libgcj.so.70) at java.security.SecureClassLoader.defineClass(libgcj.so.70) at java.net.URLClassLoader.findClass(libgcj.so.70) at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.70) at java.lang.ClassLoader.loadClass(libgcj.so.70) at java.lang.ClassLoader.loadClass(libgcj.so.70) at gnu.java.lang.MainThread.run(libgcj.so.70)V Eclipse nejde vytvořit Java project a stávající projekty nejdou přeložit, protože
java.util can not be resolved
nebo java.lang.Object can not be resolved
. Chyba ClassFormatError
je vyhozena, pokud je class-soubor špatně formován. Tedy překladač vyrábí zmetky. Vůbec mě nenapadá, co by to mohlo být, Javu jsem instaloval tolikrát, něco takového se nikdy nestalo. find / -name java
) a vsechny ostatni smaz. Rozhodne davej bacha na nepovedene pokusy typu kaffe, pouzivej jen original javu od sunu.
/etc/alternatives/java{c}
a popr zmen pomoci update-alternatives --config java{c}
.
java
(zkuste spustit java -version
a verzi JRE se dozvíte). Přímočaré řešení je odstranit z cesty ($PATH
) to staré JRE a dát tam nové. Možná má ale Debian nějaký nástroj na správu JRE a JDK, jako je java-config
v Gentoo – pak by asi bylo vhodnější použít tento nástroj.
/etc/alternatives/java
. Tento symlink musí směřovat na soubor s programem JVM, tedy na <cesta_k_jave>/jdk<verze>/bin/java
.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.