【SmartJob】【隔离装置】WEB/统计程序和隔离程序共享服务器时的JAVA版本冲突问题

SmartJob、DmsWeb与SmartSys共享服务器容易引发Java版本冲突问题:
Java版本不正确
UnsupportedClassVersionError

Exception in thread “main” java.lang.UnsupportedClassVersionError: com/sf/smartjob/main/SmartJob : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:792)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader1.run(URLClassLoader.java:355)atjava.security.AccessController.doPrivileged(NativeMethod)atjava.net.URLClassLoader.findClass(URLClassLoader.java:354)atjava.lang.ClassLoader.loadClass(ClassLoader.java:424)atsun.misc.Launcher 1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher1.run(URLClassLoader.java:355)atjava.security.AccessController.doPrivileged(NativeMethod)atjava.net.URLClassLoader.findClass(URLClassLoader.java:354)atjava.lang.ClassLoader.loadClass(ClassLoader.java:424)atsun.misc.LauncherAppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)


目前版本的麒麟、凝思操作系统自带的JAVA虚拟机版本大多是1.7。

[smart@client3-1 ~]$ type java
java is hashed (/usr/bin/java)
[smart@client3-1 ~]$ java -version
java version "1.7.0_25"
OpenJDK Runtime Environment (rhel-2.3.10.4.ky3-x86_64)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)
[smart@client3-1 ~]$ 

各个隔离厂家的反向代理软件(发送端和接收端)大都是在JAVA1.7环境运行的。

SmartWeb和SmartJob则使用的是更新版本的JAVA1.8。所以如果WEB/统计服务和SCADA服务共享同一台服务器时,SmartWeb/SmartJob程序和隔离程序会发生版本冲突。

【解决方法】

  1. 维持JAVA_HOME等相关环境变量指向1.7。
  2. 修改smartjob.sh脚本中java改为指向java1.8的绝对路径(假定1.8的java所在目录为/home/smart/jdk1.8.0_181/bin/):


nohup java -Djava.net.preferIPv4Stack=true -cp $CLASSPATH com.sf.smartjob.main.SmartJob &
改为
nohup /home/smart/jdk1.8.0_181/bin/java -Djava.net.preferIPv4Stack=true -cp $CLASSPATH com.sf.smartjob.main.SmartJob &

  1. 在配置文件conf/SmartJob.properties中增加下面第一行的内容,注意路径前后都要有斜杠。
javaPath=/home/smart/jdk1.8.0_181/bin/
group=chenth
maxJobs=1
minJobs=1
  1. 更新文件lib/SmartJob.jar至最新版本。

  2. WEB启动脚本catalina.sh也需要添加java1.8的绝对路径。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

皓月如我

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值