日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2025/5/22 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【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程序和隔離程序會發生版本沖突。

【解決方法】

  • 維持JAVA_HOME等相關環境變量指向1.7。
  • 修改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 &

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

  • WEB啟動腳本catalina.sh也需要添加java1.8的絕對路徑。

  • 總結

    以上是生活随笔為你收集整理的【SmartJob】【隔离装置】WEB/统计程序和隔离程序共享服务器时的JAVA版本冲突问题的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。