3 回答

TA貢獻1852條經驗 獲得超1個贊
檢查項目的 java 版本(如果使用 maven 構建)
轉到 pom.xml
檢查屬性
版本
代碼看起來像這樣
<properties>
<java.version>11</java.version>
<start-class>org.la.ecom.portal.teacher.EcommercePortalTeacherApplication</start-class>
</properties>

TA貢獻1155條經驗 獲得超0個贊
我們如何確定開發該項目的 Core Java/Java EE 版本?
沒有 100% 可靠的方法來做到這一點。
如果項目是使用 Maven 或 Gradle 構建的,則項目聲明的依賴項(在構建文件中)將列出 Java EE API 的特定版本,以及(通常)特定的 Java 源和目標版本。
Ant 構建文件中可能有類似的線索,但在依賴項的情況下,您將依賴類路徑條目的路徑名中的線索......可能不存在。
對于 Java EE,使用 XML 文件的命名空間 URL 中可能有線索;例如
web.xml
,application.xml
。如果以前的方法沒有幫助,那么您可以使用各種 JDK 和針對各種 Java EE API 來測試編譯代碼庫。這應該縮小代碼庫兼容的版本范圍。
如果您有現有
.class
文件,則javap
可以告訴您構建時使用的目標字節碼版本。但是,這不是一個可靠的指標,因為它不會告訴您代碼庫是為哪個 Java 版本開發的。

TA貢獻1834條經驗 獲得超8個贊
如果您想知道使用哪個版本的 Java 來編譯類,您可以使用javap, 在 JRE 和 JDK 中可用。它讀取您的類字節碼并告訴您版本。
javap -v out/com/kineolyan/tzio/diffs/Main.class 給你:
Classfile /mnt/Grishka/Projets/project-tz-io/out/com/kineolyan/tzio/diffs/Main.class
Last modified 9 oct. 2018; size 1806 bytes
MD5 checksum 26b264396d74f1a68032bf5cd17aab09
final class com.kineolyan.tzio.diffs.Main
minor version: 0
major version: 53
flags: (0x0030) ACC_FINAL, ACC_SUPER
....
請參閱此頁面以將主要和次要版本與標準名稱相匹配。例如,53.0 是 Java9。
添加回答
舉報