0

我创建了一个名为“文件夹”的 java bean(暂时非常简单,因为我想让它大部分工作)我已经将它导出为 .jar 文件并将其放在 /WEB-INF/lib/目录。但是,当我尝试在预期页面上使用它时,会出现此错误(如果需要,我可以添加长语句的 res):

Feb 22, 2013 12:02:31 PM org.apache.catalina.core.ApplicationDispatcher invoke
SEVERE: Servlet.service() for servlet jsp threw exception
java.lang.UnsupportedClassVersionError: com/mysite/folders/Folders : Unsupported major.minor     version 51.0 (unable to load class com.mysite.folders.Folders)

如果可能是导致问题的原因,这是 bean:

package com.mysite.folders;

import java.io.Serializable;
import java.util.ArrayList;

public class Folders implements Serializable {

private String accountNumber;
private String folderName;
private String groupName;
private ArrayList<String> folderNames;
private ArrayList<String> groupNames;       

public String getAccountNumber() {
    return accountNumber;
}

public void setAccountNumber(String accountNumber) {
    this.accountNumber = accountNumber;
}

public String getFolderName() {
    return folderName;
}

public void setFolderName(String folderName) {
    this.folderName = folderName;
}

public String getGroupName() {
    return groupName;
}

public void setGroupName(String groupName) {
    this.groupName = groupName;
}

public ArrayList<String> getFolderNames() {
    return folderNames;
}

public void setFolderNames(ArrayList<String> folderNames) {
    this.folderNames = folderNames;
}

public ArrayList<String> getGroupNames() {
    return groupNames;
}

public void setGroupNames(ArrayList<String> groupNames) {
    this.groupNames = groupNames;
}

public Folders(String accountNumber, String folderName, String groupName,
        ArrayList<String> folderNames, ArrayList<String> groupNames) {
    super();
    this.accountNumber = accountNumber;
    this.folderName = folderName;
    this.groupName = groupName;
    this.folderNames = folderNames;
    this.groupNames = groupNames;
}
}

最后是我在页面上的声明:

<jsp:useBean id="Folders" scope="session" class="com.mysite.folders.Folders" />

我觉得我做得很好,但不确定为什么这不起作用。任何建议或提示将不胜感激。

4

4 回答 4

2

检查您的编译器和 tomcat 是否使用相同版本的 Java。

于 2013-02-22T18:37:20.580 回答
2

好像您正在使用 JDK7 进行编译,而在 Where you are using it 上使用较低版本

参见维基百科代码

正在使用的类文件格式的主版本号。

J2SE 7 = 51 (0x33 hex).

正如所有建议的那样,也请参见如何修复 java.lang.UnsupportedClassVersionError: Unsupported major.minor version

于 2013-02-23T06:33:27.883 回答
0

您正在使用比正在运行的更高版本的 JDK 进行编译。

于 2013-02-22T18:25:57.283 回答
0

您正在使用多个编译器:您使用一个来创建 jar(可能是最新的 JDK 7),而另一个用于 Tomcat。首先要做的是:

  • 转到您的程序文件/java并检查jdks
  • 转到属性/环境变量并将 JAVA_HOME 设置为可能的最新 sdk(它应该指向 jdk 的根目录而不是 bin 库或其他任何东西)
于 2013-02-22T18:26:34.857 回答