假设银行应用程序是用Java EE开发的。现在,我们是使用该应用程序的新人们,不确定用于开发该应用程序的Java EE的版本。
我们如何确定开发该项目的Core Java / Java EE版本?
答案 0 :(得分:2)
我们如何确定开发该项目的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版本。
答案 1 :(得分:1)
如果您想知道使用哪个Java版本来编译该类,可以使用JRE和JDK中提供的javap
。它会读取您的类字节码并告诉您版本。
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
....
请参见this page,以将主要和次要版本与标准名称进行匹配。例如,53.0是Java9。
答案 2 :(得分:0)
代码看起来像这样
<properties>
<java.version>11</java.version>
<start-class>org.la.ecom.portal.teacher.EcommercePortalTeacherApplication</start-class>
</properties>