Min syster som precis börjat läsa programmering har bett mig om hjälp med att få in en java-IDE på sin laptop (mac), så jag installerade Eclipse. Och det verkar ju fungera bra. Men när jag inkluderar en jar-klassfil i projektet, och importerar den i koden, och kör någon funktion som är en del av klassen, så får jag lite felmeddelanden
Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:676)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:317)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:375)
at Javauppgift.main(Javauppgift.java:9)
Kan det vara för att jag kör för ny java-version på datorn?
Nej, det är troligtvis inte för att du kör en för ny version - Java har strålande bakåtkompatabilitet nämligen. Det verkar vara åt andra hållet, nämligen att runtime-miljön kör en äldre version än vad biblioteket är kompilerat i.
När du skapar ett projekt i Eclipse så har du möjlighet att välja runtime-miljö, "Use an execution environment JRE". Det låter som att du har valt en äldre version i den dropdown-listan.
Edit,
Eller om du har ett färdigt projekt kan du byta s.k. target VM genom att markera projektet, gå på "File" > "Properties" > "Java Compiler" och klicka i "Enable project specific settings" och ändra "Compiler compliance level" till den senaste versionen av Java.