檢視java class檔案的編譯版本號
用maven做專案依賴管理,依賴了一個其他組開發的一個基礎包。結果,在使用maven進行編譯打包的時候,報了錯: Unsupported major.minor version 51.0。
注:我本機上目前只安裝了 jdk 1.8
使用Eclispse自帶的工具,即使看不到原始碼,也還可以看到該class當時編譯器的版本。
如果沒有eclipse,也可以使用java自帶的工具,檢視 class編譯時使用的編譯器版本。
$ javap -v ServiceImpl.class
或者
$ javap -verbose ServiceImpl.class
我們可以看一下 jdk版本和major version對應關係:
J2SE 8 = 52,
J2SE 7 = 51,
J2SE 6.0 = 50,
J2SE 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45
由此,可以說明 ,依賴的jar包是經過jdk1.7 的編譯器進行編譯的。
相關推薦
檢視java class檔案的編譯版本號
用maven做專案依賴管理,依賴了一個其他組開發的一個基礎包。結果,在使用maven進行編譯打包的時候,報了錯: Unsupported major.minor version 51.0。 注:我本機上目前只安裝了 jdk 1.8 使用Eclispse自帶的
Java class檔案的JDK編譯版本號
比如用UltraEdit(UE)開啟class檔案(如果是在linux,比如Ubuntu下,用$hexdump -C Test.class),你會看到諸如第一行是: 00000000h: CA FE BA BE00 00 32 00 A9 07 00 02 01 00 前四個位元組為固定的 CA FE B
怎麼知道Java class檔案JDK編譯的版本號
首先用一些二進位制檢視器開啟class檔案,比如od或者hexdump工具。 od -x hello.class 或者 hexdump hello.class 我們會看到類似於下面的輸出: feca
java class檔案魔數、版本號
每個class檔案的前四個位元組表示魔數,他的唯一作用是確定這個檔案是否是一個能被虛擬機器接受的class檔案, 很多檔案儲存標準中都使用魔數來進行身份識別,比如圖片格式,如gif、jpg等在檔案中都存在魔數,使用魔數而不是副檔名來進行識別主要基於安全方面的考慮。因為副檔名可
為 Laravel Mix 編譯的 JavaScript 和 CSS 檔案加版本號
加版本號,什麼意思?我們來看 Github 網頁原始碼中是怎樣引入 JavaScript 和 CSS 檔案的。 <link crossorigin="anonymous" href="https://assets-cdn.github.com/assets
vue.js編譯時給生成的檔案增加版本號
vue.js在生成相關js和css檔案的時候,名稱是通過HASH的方式進行生成的,但是每次生成的檔案基本都是一樣的,那麼瀏覽器就會快取這些檔案,為了在更新的時候能夠保證js和css檔案能夠更新,那麼我們需要針對webpack的配置檔案進行修改;開啟webpack.pr
Java自動生成H5遊戲資源版檔案的版本號
版本號自動化需求 H5遊戲的龐大資源,每個資源的版本號不可能是手動維護,必須採用指令碼或者軟體來自動生成。具體的版本號管理的問題,可以看我上篇文章:H5手遊頁遊的資源版本管理。 本文主要是用java實現了讀取所有的資原始檔,並且根據檔案的日期生成相應的版本號
java class檔案魔數與版本對應
major minor Java platform version 45(2D) 3 1.1 46(2E) 0 1.2 47(2F) 0 1.3 48(30) 0
java比較客戶端版本號
integer 大於 index 代碼 服務器端 ray com 為什麽不能 java 參考文章:http://www.jb51.net/article/70317.htm 關鍵點 為什麽不能使用String.compareTo方法來比較客戶端版本號?
java專案打包加版本號清理快取二
一篇我們主要介紹了在程式碼中怎麼處理可以做到清理快取的效果,這篇我們說說在打包的時候加版本號,意義上就是給靜態資源加版本號,意思我們每次打包的靜態頁面都是一個全新的頁面,通過這種方式來達到清理快取的目的;為達目標不擇手段嗎! 1.maven專案打包增加版本號,利用maven外掛:com.goo
linux檢視python安裝路徑,版本號
1.檢視安裝路徑 [[email protected] bin]$ which python /usr/bin/python #ll /usr/bin/ | grep 'python' lrwxrwxrwx. 1 root root 7 10月 17 16
gulp給專案檔案更換版本號
一、安裝依賴 建立nodejs配置檔案package.json npm init -y 檔案目錄下就會生成package.json 檔案 編輯該檔案,檔案內容大致入戲 { "name": "test", "version": "1.0.0", "desc
深入理解Java Class檔案格式(九)
經過前八篇關於class檔案的部落格, 關於class檔案格式的內容也基本上講完了。 本文是關於class檔案格式的最後一篇。 在這篇部落格中, 將會講解關於方法的幾個屬性。 理解這篇部落格的內容, 對於理解JVM執行引擎起著重要作用。 關於虛擬機器執行引擎有關的內容, 會在本專欄後面的部落格中涉及
深入理解Java Class檔案格式(八)
在本專欄的第一篇文章 深入理解Java虛擬機器到底是什麼 中, 我們主要講解了什麼是虛擬機器, 這篇部落格是對JVM的一個概述。 在隨後的幾篇文章中,一直在講解class檔案格式。 在今天這篇部落格中, 將會繼續講解class檔案中的其他資訊。 在本文中, 將會講解class檔案中的最後一
深入理解Java Class檔案格式(七)
本專欄列前面的一系列部落格, 對Class檔案中的一部分資料項進行了介紹。 本文將會繼續介紹class檔案中未講解的資訊。 先回顧一下上面一篇文章。 在上一篇部落格中, 我們介紹了: this_class 對當前類的描述 super_class &
深入理解Java Class檔案格式(六)
經過前幾篇文章, 終於將常量池介紹完了, 之所以花這麼大的功夫介紹常量池, 是因為對於理解class檔案格式,常量池是必須要了解的, 因為class檔案中其他地方,大量引用了常量池中的資料項。 對於還不瞭解常量池的讀者, 如果想要深入瞭解class檔案格式, 或者想繼續讀這篇部落格和本專
java class檔案的載入
java class檔案載入過程:jvm把描述類的資料從class檔案載入(loading)到記憶體(java方法區)中,中間對資料進行校驗(verification)、轉換解析(resolution)和初始化(initialization),最終形成可以被jvm直接使用的Jav
Java實現比較APP版本號大小
實現程式碼如下: /** * 比較APP版本號的大小 * <p> * 1、前者大則返回一個正數 * 2、後者大返回一個負數 * 3、相等則返回0 * * @param version1 app
Shell指令碼通過Java class檔案啟停Java程式
通過Shell指令碼啟動和停止Java程式(文章末尾附指令碼和程式原始碼地址) 步驟: 1,通過shell啟動指令碼啟動mainclass(非java -jar的方式) 2,記錄程序id 3,通過shell停止指令碼殺掉程序 示例專案結構和主類程式碼: 將工程編譯成
四種檢視CentOS等Linux系統版本號資訊
OS:CentOS release 6.7 (Final) 第一種方法: [[email protected]]# lsb_release -a bash:lsb_release: command not found [[email prot