user1780306
user1780306

Reputation:

Check java version during program load

I'm looking for a way to check which java version my software is running under.

I'd like to verify during load time my software is running on at least

Upvotes: 0

Views: 147

Answers (4)

Raul Martins
Raul Martins

Reputation: 405

To get the java version you can use any of these depending on the version you want:

java.specification.version
java.version    
java.vm.version 
java.runtime.version   

However, note that java versions are not equivalent between operative systems. So Java 6 on OSX does not mean the same thing as Java 6 on Windows. So, I would recommend you to also get the OS where the application is running, if you wish to determine if a given feature is available:

System.getProperty("os.name")

As a general guideline, all of this stuff is in the System package. A trick I use is iterate through all the available fields to have an idea of what I can use:

import java.util.Map;

class ShowProperties {
  public static void main(String[] args) {
    for (Map.Entry<Object, Object> e : System.getProperties().entrySet()) {
        System.out.println(e);
    }
  }
}

Upvotes: 5

user2512495
user2512495

Reputation: 91

Use java.version property to retrieve the jre version.

 String javaVersion = System.getProperty("java.version");

if ((!javaVersion.startsWith("1.6")) && (!javaVersion.startsWith("1.7")) && (!javaVersion.startsWith("1.8")) && (!javaVersion.startsWith("1.9")))
{
  // error
}

Upvotes: 3

T-Bull
T-Bull

Reputation: 2146

java.lang.System.getProperty("java.version")

Upvotes: 0

arshajii
arshajii

Reputation: 129577

You can use System.getProperty:

System.out.println(System.getProperty("java.version"));
1.7.0_21

Upvotes: 1

Related Questions