最近研究了悟空crm java版本,运行时要求JDK1.8。
本地编译和打包,用的JDK1.8。
Java 环境变量,配得也是1.8.
但是执行 start.sh 72crm.sh 时,提示
D:\GitRepos\gitee\72crm-java\target\crm9-release\crm9>72crm.bat Exception in thread "main" java.lang.UnsupportedClassVersionError: com/kakarote/crm9/Application : Unsupported major.minor version 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) |
52.0,遇到的多了就熟悉了,是JDK1.6的版本。
感觉很奇怪呀。
Java命令显示1.6,javac显示1.8。
D:\GitRepos\gitee\72crm-java\target\crm9-release\crm9>java -version java version "1.6.0_17" Java(TM) SE Runtime Environment (build 1.6 .0_17-b04) Java HotSpot(TM) Client VM (build 14.3 -b01, mixed mode, sharing) D:\GitRepos\gitee\72crm-java\target\crm9-release\crm9>javac -version javac 1.8 .0_31 |
换了个Windows目录,
C:\Users\>java -version java version "1.8.0_31" Java(TM) SE Runtime Environment (build 1.8 .0_31-b13) Java HotSpot(TM) 64 -Bit Server VM (build 25.31 -b07, mixed mode) C:\Users\>javac -version javac 1.8 .0_31 |
显示的都是1.8,很奇怪啊。
参考了1篇文章
感觉不符合我的情况。
C:\Users\>d: D:\>D:\GitRepos\gitee\72crm-java\target\crm9-release\crm9 'D:\GitRepos\gitee\72crm-java\target\crm9-release\crm9' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 D:\>cd D:\GitRepos\gitee\72crm-java\target\crm9-release\crm9 D:\GitRepos\gitee\72crm-java\target\crm9-release\crm9>java -version java version "1.8.0_31" Java(TM) SE Runtime Environment (build 1.8 .0_31-b13) Java HotSpot(TM) 64 -Bit Server VM (build 25.31 -b07, mixed mode) D:\GitRepos\gitee\72crm-java\target\crm9-release\crm9>javac -version javac 1.8 .0_31 D:\GitRepos\gitee\72crm-java\target\crm9-release\crm9> |
重新尝试了一遍,又无法复现了。
根据上面那个帖子,本地确实 安装了 JDK1.6.
C:\Program Files (x86)\Java\jre6
所以结论,这个问题挺奇怪的。
当显示为JDK1.8时,项目就正常启动了。
D:\GitRepos\gitee\72crm-java\target\crm9-release\crm9>72crm.bat Starting JFinal 3.8 -> http: //0.0.0.0:9201 Info: jfinal-undertow 1.9 , undertow 2.0 . 25 .Final, jvm 1.8 .0_31 2019 - 10 - 12 19 : 10 : 54 , 445 [INFO][main][DruidDataSource.java: 785 ] {dataSource- 1 } inited |
第1次遇到这样的问题,也是长见识了。