簡體   English   中英

Tomcat7以不正確的Java版本開頭

[英]Tomcat7 Starts with Incorrect Java Version

我知道StackOverflow上有很多問題可以提供解決方案(我通過遵循這些解決方案來解決所有問題),但我仍然遇到問題。該應用程序在我的計算機上本地運行良好,但無法獲得可以在Ubuntu服務器上使用。 這是我為解決此問題所做的工作:

  1. 我了解Unsupported major.minor version 52.0意味着與Java版本存在沖突。 我通過在Ubuntu服務器上安裝Java 1.8並將其設置為默認Java來解決此問題。
  2. 我的java -versionjavac -version在Ubuntu服務器上為1.8.0_31在本地計算機上為1.80_40
  3. 我在Ubuntu服務器上的$JAVA_HOME路徑是/usr/lib/jvm/java-8-oracle/
  4. 完成此操作后,我重新啟動了Tomcat和Postgres(這不重要嗎?)

以下是部署WAR文件后出現的錯誤:

java.lang.UnsupportedClassVersionError: com/appname/servlets/getServlet: Unsupported major.minor version 52.0 (unable to load class com.appname.servlets.getServlet)
    org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2948)
    org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1208)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1688)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1569)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
    org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    java.lang.Thread.run(Thread.java:745)

編輯:請不要將其標記為重復。 我覺得我的問題是其他問題,因為我知道它是在相同版本(Java 1.8)上編譯並運行的。

即使在我的Ubuntu服務器中java -versionjavac -version都顯示為1.8,但我注意到由於某種原因,當我訪問其Manager-GUI時,Tomcat仍使用1.7(位於底部)。

這個問題是固定的幫助下這個問題上提出的Ubuntu。 基本上,還需要使用vi /etc/default/tomcat7 Tomcat更新JAVA_HOME 我將我的設置為/usr/lib/jvm/java-8-oracle ,重新啟動了Tomcat,現在它在Tomcat中顯示了正確的版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM