簡體   English   中英

如何使用java應用程序檢查jre版本

[英]how to check jre version using java application

我已經在JDK7中創建了一個應用程序,但jre6仍然在市場上使用,如果我將我的jar文件發送給jre6的人,它就不會工作,有沒有辦法應用程序檢查jre版本,如果它沒有compat然后要求用戶更新..

您可以使用System.getProperty(String key); "java.version"為鍵的方法。

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

示例輸出:

1.6.0_30

可用的密鑰可以在這里找到。

System.getProperty("java.version")

注意 :它將返回當前jvm的版本,執行此代碼的jvm,如果您的計算機上安裝了java6和java7,並且您在java 7上運行此代碼,它將顯示版本7

static public void main(String[] arg) throws IOException
    {
        PrintStream out = System.out;
        Properties pro = System.getProperties();
        Set set = pro.entrySet();

       Iterator<Map.Entry<String , String >> itr = set.iterator();
        while(itr.hasNext())
        {
            Map.Entry ent = itr.next();
            out.println(ent.getKey() + " -> " + ent.getValue() + "\n");
        }
}

使用System.getProperty("java.version")System.getProperty("java.runtime.version")來獲取已安裝的java版本。
以上代碼剪切可幫助您找到更多詳細信息,如java供應商名稱,操作系統等。

這是一個使用System.getProperty("java.version");檢查版本並在版本不正確時拖出異常的示例 System.getProperty("java.version");

使用Java Web Start,如果它與您的jar不兼容,您將擁有一個關於Java版本的消息框。 例如:

<resources>
       <j2se version="1.4+"
             href="http://java.sun.com/products/autodl/j2se" />

在jnlp文件中

如果您嘗試在較舊版本的jre上運行Java文件而不是編譯它的版本,則會發生UnsupportedClassVersionError。

java.lang.UnsupportedClassVersionError:運行已編譯的java類文件時.class文件[at java.lang.ClassLoader.defineClass1(Native Method)]中的錯誤版本號。

實質上,您無法運行使用比JVM更新的版本編譯的.class文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM