gpt4 book ai didi

java - 不支持 major.minor 版本 52.0,带有使用 eclipse 构建的 Web 应用程序,服务器是 tomcat 7

转载 作者:行者123 更新时间:2023-11-28 23:14:36 24 4
gpt4 key购买 nike

<分区>

我最近将我的开发机器升级到 Ubuntu 18.04,并且一直在重新访问和检查一些旧项目,其中一个项目是在 Eclipse oxygen 下构建并使用 Tomcat 7 部署的。

据我所知,这个项目在将 .war 文件部署到 tomcat 的私有(private)实例(在端口 10080 上运行)和在 8080 上自动启动的主要实例时有效。

它仍然可以在 10080 上运行,但是当我部署到 8080 并通过浏览器打开时,我看到了

javax.servlet.ServletException: java.lang.UnsupportedClassVersionError: org/eclipse/jdt/internal/compiler/env/INameEnvironment : Unsupported major.minor version 52.0

我有 $JAVA_HOME 作为 JAVA_HOME="/usr/lib/jvm/java-8-oracle"

主 tomcat 管理器页面显示:

Apache Tomcat/7.0.68 (Ubuntu) JVM version 1.7.0_80-b15

我已将 eclipse 编译器合规级别设置为 1.7。

我完全不明白为什么一个实例可以,而另一个实例不行。我不想更改 JAVA_HOME,所以我认为这一定与 tomcat 配置或内部编译器有关,但似乎无法解决。

我们将不胜感激地接受所有明智的建议。

编辑:

这不是问题的重复,因为我已经构建了一个 war 文件并将其导出到 ~/junk。之后,我将其复制并粘贴到两个 Tomcat 实例的单独 webapps 文件夹中。我认为这是一个 tomact 配置问题,但我看不出是什么。请不要将其标记为重复

编辑 2:

查看 tomcat 是如何使用 systemctl 作为服务启动的,我看到了:

nick@nick-X555LAB:~$ systemctl status tomcat7.service 
tomcat7.service - LSB: Start Tomcat.
Loaded: loaded (/etc/init.d/tomcat7; generated)
Active: active (running) since Mon 2018-08-20 12:04:29 BST; 55s ago
Docs: man:systemd-sysv-generator(8)
Process: 10050 ExecStart=/etc/init.d/tomcat7 start (code=exited, status=0/SUCC
Tasks: 20 (limit: 4915)
CGroup: /system.slice/tomcat7.service
└─10109 /usr/lib/jvm/java-7-oracle/bin/java -Djava.util.logging.confi

Aug 20 12:04:24 nick-X555LAB systemd[1]: Starting LSB: Start Tomcat....
Aug 20 12:04:24 nick-X555LAB tomcat7[10050]: * Starting Tomcat servlet engine t
Aug 20 12:04:29 nick-X555LAB tomcat7[10050]: ...done.
Aug 20 12:04:29 nick-X555LAB systemd[1]: Started LSB: Start Tomcat..

注意对 java7 的引用 - 我想将其切换到 java 8


已解决

解决了。在/etc/default/tomcat7 中找到对 java 7 的引用,将其更改为 java 8,一切正常。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com