Para saber qué versión se ha utilizado de la JDK de Sun al compilar un fichero Java, podemos utilizar este algoritmo que encontre por internet basado en las especificaciones que Sun publica en la siguiente dirección: JSR-000202

import java.io.*;

public class Version {
    public static void main(String[] args) throws Exception {
        if (args.length != 1) {
            System.err.println("Usage: java Version .class file");
            System.exit(1);
        }

        if (! new File(args[0]).exists()) {
            System.err.println(args[0] + " does not exist!");
            System.exit(2);
        }

        DataInputStream dis = new DataInputStream(
                                 new FileInputStream(args[0]));
        int magic = dis.readInt();
        if (magic != 0xcafebabe) {
            System.err.println(args[0] + " is not a .class file");
            System.exit(3);
        }

        int minor = dis.readShort();
        int major = dis.readShort();
        System.out.println("class file version is " + major + "." + minor);

        String version = null;

        if (major < 48) {
            version = "1.3.1";
        } else if (major == 48) {
            version = "1.4.2";
        } else if (major == 49) {
            version = "1.5";
        } else if (major == 50) {
            version = "6";
        } else {
            version = "7";
        }
        System.out.println("You need to use JDK " + version + " or above");
    }
}

Estoy investigando si existe alguna forma de saber qué “update” de la JDK se ha utilizado, para saber si se ha usado la jdk1.6.0_14 o jdk1.6.0_16 por ejemplo. Cuando sepa cómo se hace actualizaré el código ;).

Advertisements

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

CERRAR

Pin It on Pinterest

Share This

Compártelo

¡Comparte este artículo con tus amigos!