anonym | Anmelden | Neues Konto anmelden | 2022-07-04 15:41 UTC |
Startseite | Übersicht | Probleme anzeigen | Änderungsprotokoll | Roadmap | Dokumentation | Konto |
Einfache Problemansicht anzeigen [ Zu Notizen wechseln ] | [ erweiterte Anzeige ] [ Problem-Historie ] [ Drucken ] | ||||||
ID | Kategorie | Auswirkung | Reproduzierbar | Meldungsdatum | Letzte Aktualisierung | ||
0000039 | [Barista] general | Feature-Wunsch | immer | 2009-05-23 20:18 | 2009-06-29 21:35 | ||
Reporter | sufrin | Anzeigestatus | öffentlich | ||||
Bearbeitung durch | xclerc | ||||||
Priorität | normal | Lösung | erledigt | ||||
Status | erledigt | Produktversion | |||||
Zusammenfassung | 0000039: Class files apparently not compatible with Java 1.5 -- but no control over target ... | ||||||
Beschreibung |
Standard build generates code that is not compatible with the OS/X (Tiger) or Solaris Java 1.5 builds (class version error). Code is compatible with Java 1.6 builds on Linux and Solaris. It may be that this is deliberate, but since Apple is always way behind on its VM versions it's a bit inconvenient not to be able to control the class versions from the barista api. [Thank you for an otherwise-wonderful library!] Compiled and ran the Hello world program from the documentation (code sample 2) to generate Hello.class. [[ASIDE: I think the INVOKEVIRTUAL instruction in that sample is incorrect and should be: Instruction.INVOKEVIRTUAL ( `Class_or_interface (utf8_for_class "java.io.PrintStream"), (utf8_for_method "println"), ([(`Class (utf8_for_class "java.lang.String"))], `Void) ); END-ASIDE]] No 1.5 JVM I have available will run the Hello code; all 1.6 JVM I have available will. |
||||||
Zusätzliche Information |
# Solaris java 1.5 running 610$ ssh eclectic java -version java version "1.5.0_01" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_01-b08) Java HotSpot(TM) Client VM (build 1.5.0_01-b08, mixed mode, sharing) 611 $ ssh eclectic java Hello 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:620) ... # Linux java 1.6 616$ ssh laborious java -version java version "1.6.0_01" Java(TM) SE Runtime Environment (build 1.6.0_01-b06) Java HotSpot(TM) 64-Bit Server VM (build 1.6.0_01-b06, mixed mode) 617$ ssh laborious java Hello hello. # OS/X Java 1.5 617 $ java -version java version "1.5.0_16" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_16-b06-275) Java HotSpot(TM) Client VM (build 1.5.0_16-132, mixed mode, sharing) 618 $ java Hello 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:620) ... # OS/X java 1.4 619 $ /System/Library/Frameworks/JavaVM.framework/Versions/1.4/Commands/java Hello Exception in thread "main" java.lang.UnsupportedClassVersionError: Hello (Unsupported major.minor version 50.0) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:539) |
||||||
Tags | Keine Tags zugeordnet. | ||||||
Angehängte Dateien | |||||||
|
Mantis 1.1.7[^] Copyright © 2000 - 2008 Mantis Group |