Como descobrir versão do java via "linha de codigo" e não "linha de comando"?

Caros,

Como descubro a versão do java via algum metodo dentro do programa e não depender do sistema?

Abs

Dá uma olhada:

  public String logCpuEnvironment()
    {
        StringWriter sw = new StringWriter();
        PrintWriter pw = new PrintWriter(sw);

        pw.println();
        pw.println("General information: ");
        pw.println("   Operating System: " + System.getProperty("os.name")
                + " " + System.getProperty("sun.os.patch.level"));

        pw.println("   Java Version: "
                + System.getProperty("java.version") + " - "
                + System.getProperty("java.vendor"));

        final long max = Runtime.getRuntime().maxMemory();
        final int maxMega = (int) ((float) max / 1048576);
        pw.println("   Heap Space: " + maxMega + "MB");

        pw.println("   User name: " + System.getProperty("user.name"));
        pw.println("   Language: " + System.getProperty("user.language"));
        pw.println("   Country: " + System.getProperty("user.country"));

        return sw.toString();
    }

Para usar:

public static void main(String[] args) { System.out.println(logCpuEnvironment()); }

System.out.println(System.getProperties());

esse codigo vai mostrar tudo , mas voce pode usar o getProperty(String chave) pra pegar o item desejado

[quote=ViniGodoy]Dá uma olhada:

  public String logCpuEnvironment()
    {
        StringWriter sw = new StringWriter();
        PrintWriter pw = new PrintWriter(sw);

        pw.println();
        pw.println("General information: ");
        pw.println("   Operating System: " + System.getProperty("os.name")
                + " " + System.getProperty("sun.os.patch.level"));

        pw.println("   Java Version: "
                + System.getProperty("java.version") + " - "
                + System.getProperty("java.vendor"));

        final long max = Runtime.getRuntime().maxMemory();
        final int maxMega = (int) ((float) max / 1048576);
        pw.println("   Heap Space: " + maxMega + "MB");

        pw.println("   User name: " + System.getProperty("user.name"));
        pw.println("   Language: " + System.getProperty("user.language"));
        pw.println("   Country: " + System.getProperty("user.country"));

        return sw.toString();
    }

Para usar:

public static void main(String[] args) { System.out.println(logCpuEnvironment()); }[/quote]
Só o “os.version” para ficar mais completo. :slight_smile:

Geralmente a versão vinha no os.name, aí acabava ficando duplicado. Mas uma informação especialmente útil é o Heap Space. Principalmente se vc tem daqueles bats que aumentam o heap. Através disso vc sabe se o usuário rodou ou não o .bat.

ae, pow vcs são demais, muito obrigado a todos, funciona.

por isso me orgulho de ser programador dessa linguagem.

muito obrigado a todos
:wink:

Abs!!!

System.getProperty(“java.version”)