首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用tomcat7 UnsupportedClassVersionError运行java7时

使用tomcat7 UnsupportedClassVersionError运行java7时
EN

Stack Overflow用户
提问于 2012-10-14 20:36:47
回答 3查看 617关注 0票数 0

问题:当我将war部署到tomcat7时,我得到了错误java.lang.UnsupportedClassVersionError: org.MyLibraryClass :不支持的major.minor版本51.0

(这是使用比运行代码时使用的java更新版本编译java时所遇到的错误。)

情况,以便:

  1. 全新的ubuntu12.04.1服务器,最小64位,在virtualbox中
  2. 安装tomcat6
  3. 试图发动我的战争
  4. 实现了错误,并且我需要java7,因为ubuntu 12仍然带有过时的java。
  5. 使用本指南https://askubuntu.com/questions/197248/java-on-ubuntu-server-12-04安装oracle 7 sudo add-apt存储库ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java7-installer

  1. 删除tomcat6并安装tomcat7 sudo apt-获取删除tomcat7 6-常见sudo apt-获取安装tomcat7

  1. 把我的战争部署到tomcat7
  2. 启动猫 苏丹服务tomcat7启动

  1. 检查了我的应用程序的日志文件。同样的错误。
  2. $JAVA_HOME是空的,java -version显示: java版本"1.7.0_07“Java(TM) SE运行时环境(build 1.7.0_07-b10) Java HotSpot(TM) 64位服务器VM (build 23.3-b01,混合模式)

  1. 这是一个默认的tomcat7安装,没有修改。不过,我还是检查了启动脚本和配置,以确保在任何地方都没有指定自定义java版本。通过询问catalina也进行了检查:

ubuntu@ubuntu:/home$ /usr /share/Tomcat 7/bin/catalina.sh版本使用CATALINA_BASE: /usr/share/Tomcat 7使用CATALINA_HOME: /usr/share/Tomcat 7使用CATALINA_TMPDIR: /usr/share/Tomcat 7/temp使用JRE_HOME: /usr使用CLASSPATH: /usr服务器版本: Apache /7.0。26服务器构建:2012年7月19日03:21:30服务器编号: 7.0.26.0操作系统名称: Linux版本:3.2.0-29-通用架构: amd64 JVM版本:1.7.0_07-b10JVM供应商: Oracle

现在我被困住了。我不明白为什么任何java代码都不能在oracle的jre7上运行。

我的war是一个全新的非常基本的hello Grails2.1应用程序,它有一个maven依赖项(org.MyLibraryClass),它是用jdk7编译的。这就是我得到错误的原因。

在grails中,我将BuildConfig.groovy改为1.7而不是1.6:

grails.project.target.level = 1.7 grails.project.source.level = 1.7

然后进行了清理,重建,战争,重新部署。没有变化。

知道接下来该试试什么吗?

EN

回答 3

Stack Overflow用户

发布于 2013-10-09 12:36:29

使用Java7编译代码并在Java6下运行时典型的错误。

票数 1
EN

Stack Overflow用户

发布于 2012-10-14 20:53:04

在您的查询中,关键的一行是这个,我认为:

代码语言:javascript
复制
sudo service tomcat7 start

我认为这可能触发了系统中仍然存在的OpenJDK的继承。你想要做的是尝试从你自己的环境。

以普通用户身份登录

代码语言:javascript
复制
java -version
/usr/share/tomcat7/bin/startup.sh

检查一下。您还应该以干净的用户身份登录、根用户或其他地方登录,并检查java -version进行检查。

如果所有其他操作都失败了,请转到/etc/profile,并确保路径到Oracle的Java/bin目录是环境路径变量中的第一件事。

票数 0
EN

Stack Overflow用户

发布于 2013-12-04 03:31:03

我刚才也有同样的问题,但现在已经解决了。

请检查这个符号

/usr/lib/jvm/default

它的默认链接是打开的-- jdk,重置正确的jdk目录。

祝好运!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12886308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档