标签: unsupported-class-version

不支持的major.minor版本51.0,但一切都设置为JDK 1.6

我有一个Maven Eclipse应用程序,我正在尝试使用以下命令运行命令提示符:

java -cp target/classes;"target/dependency/*" com.example.Main
Run Code Online (Sandbox Code Playgroud)

不幸的是,它抛出一个错误:

UnsupportedClassVersionError : unsupported major.minor version 51.0
Run Code Online (Sandbox Code Playgroud)

我做了一些挖掘,发现它与在较新版本的JDK上编译的应用程序有关,而不是它运行的JRE.显然,51意味着它是为1.7而构建的,但我的计算机上没有JDK 7 ......

所以我确保一切都设置为1.6版:

root包含的system.properties文件

java.runtime.version=1.6
Run Code Online (Sandbox Code Playgroud)

添加了maven属性

<java.version>1.6</java.version>
Run Code Online (Sandbox Code Playgroud)

在我的pom.xml中指定了maven编译器插件

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.1</version>
    <configuration>
        <source>1.6</source>
        <target>1.6</target>
    </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

我使用返回的命令java -version检查了我的java版本

Java version "1.6.0_38"
Java(TM) SE Runtime Environment (build 1.6.0_38-b05)
Java HotSpot(TM) 64-bit Server VM (build 20.13-b02, mixed mode)
Run Code Online (Sandbox Code Playgroud)

设置maven-compiler-plugin后,我的项目更新导致Eclipse自动将编译器级别设置为1.6,项目方面级别为1.6,并将JavaSE-1.6 jre系统库添加到我的项目中.

所以我完全不知道这个JDK 1.7的来源.我从来没有在这台计算机上安装JDK 1.7 ...

另外,最初,maven-compiler-plugin不存在所以它是用1.5构建的.但我做了一个mvn clean install,然后一个mvn package,然后在所有设置调整后再次尝试该命令,它仍然抛出相同的错误.

java unsupported-class-version

33
推荐指数
2
解决办法
7万
查看次数

解决Ubuntu上java和javac之间的版本冲突

我在Ubuntu上编译的Java应用程序有问题.它抛出UnsupportedClassVersionError.我正在使用比我在PATH中配置的JDK版本更高的JDK版本来编译以运行Java:

$ javac -version
javac 1.7.0_147

$ java -version
java version "1.6.0_23"
OpenJDK Runtime Environment (IcedTea6 1.11pre) (6b23~pre11-0ubuntu1.11.10.2)
OpenJDK Client VM (build 20.0-b11, mixed mode, sharing)
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

java ubuntu openjdk javac unsupported-class-version

18
推荐指数
3
解决办法
1万
查看次数

Java Stacktrace错误不支持的major.minor版本51.0

可能重复:
不支持的主要.minor版本51.0

我制作了这个脚本,它给了我这个错误:

java.lang.UnsupportedClassVersionError: net/glitching/client : Unsupported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(Unknown Source)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$000(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
Exception in thread "main" 
Run Code Online (Sandbox Code Playgroud)

这是什么意思?这是我的代码......

package net.glitching;

import java.io.IOException;
import java.io.ObjectInputStream;
import java.net.Socket;

public class client {

    static Socket sock = null;

    public static void main(String[] args) {
        while (true) {
            try {
                sock …
Run Code Online (Sandbox Code Playgroud)

java version unsupported-class-version

11
推荐指数
2
解决办法
5万
查看次数

java.lang.UnsupportedClassVersionError:offset = 6时的错误主要版本

我在我WAR filewebapps文件夹中部署了一个tomcat.当我开始我的tomcat时,如下所示

C:\apache-tomcat-6.0.35\bin>startup.bat
Using CATALINA_BASE:   "C:\apache-tomcat-6.0.35"
Using CATALINA_HOME:   "C:\apache-tomcat-6.0.35"
Using CATALINA_TMPDIR: "C:\apache-tomcat-6.0.35\temp"
Using JRE_HOME:        "C:\Program Files (x86)\IBM\RationalSDLC\Common\Java5.0\jre"
Using CLASSPATH:       "C:\apache-tomcat-6.0.35\bin\bootstrap.jar"
Run Code Online (Sandbox Code Playgroud)

我得到以下异常 -

SEVERE: Error deploying web application archive DirectoryServer.war
java.lang.UnsupportedClassVersionError: (com/services/rest/Listener) bad major version at offset=6 (unable to load class com.services.rest.Listener)
    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2822)
    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1159)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1647)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
    at org.apache.catalina.startup.WebAnnotationSet.loadClassAnnotation(WebAnnotationSet.java:145)
    at org.apache.catalina.startup.WebAnnotationSet.loadApplicationListenerAnnotations(WebAnnotationSet.java:73)
    at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:56)
    at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:297)
    at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:1078)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:261)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4612)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:943)
    at …
Run Code Online (Sandbox Code Playgroud)

apache tomcat unsupported-class-version

10
推荐指数
1
解决办法
6万
查看次数

错误:发生 JNI 错误,请检查您的安装并重试 - 在从 Ubuntu 终端运行 Java 程序期间

我正在尝试通过 Ubuntu 终端运行一个用 Java 编写的简单客户端-服务器程序。不幸的是我可以成功编译代码,我无法运行代码。

服务器类代码:

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

public class Server 
{
        public static void main(String[] args)
        {
                try 
                {
                        //create server Socket with demo port
                        ServerSocket server = new ServerSocket(20);

                        //wait for server connection
                        Socket s = server.accept();

                        //upon establishing connection, print 
                       // successful message
                        System.out.println("connection eastablished");
                } 
                catch (IOException e) 
                {
                        e.printStackTrace();
                }
        }
}
Run Code Online (Sandbox Code Playgroud)

客户端类代码:

import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;

public class Client 
{
        public static void main(String[] args)
        {
                try 
                { …
Run Code Online (Sandbox Code Playgroud)

java ubuntu unsupported-class-version

7
推荐指数
1
解决办法
5万
查看次数

不支持的类文件主要版本 64

失败:构建失败并出现异常。

  • 其中:构建文件 'D:\D\FitCoachApp\fit_coach_app\android\build.gradle'

  • 出了什么问题:无法编译构建文件“D:\D\FitCoachApp\fit_coach_app\android\build.gradle”。

启动失败:转换期间出现一般错误:不支持的类文件主要版本 64

java.lang.IllegalArgumentException:不支持的类文件主要版本 64

[在此输入图像描述]( https://i.stack.imgur.com/WKYeM.png )

version gradle unsupported-class-version flutter

7
推荐指数
1
解决办法
1万
查看次数

maven eclipse - 不支持的major.minor版本52.0

我正在使用apache maven 3.2.3来编译我的java项目.

当我使用命令行启动编译时

mvn clean compile
Run Code Online (Sandbox Code Playgroud)

然后它完美地运作.

但是当我从eclipse(LUNA)运行maven build时,它总是失败并出现以下错误:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (default-compile) on project MSDPEx: Execution default-compile of goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile failed: An API incompatibility was encountered while executing org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile: java.lang.UnsupportedClassVersionError: com/sun/tools/javac/Main : Unsupported major.minor version 52.0
[ERROR] -----------------------------------------------------
[ERROR] realm =    plugin>org.apache.maven.plugins:maven-compiler-plugin:2.5.1
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/home/rvnath/.m2/repository/org/apache/maven/plugins/maven-compiler-plugin/2.5.1/maven-compiler-plugin-2.5.1.jar
[ERROR] urls[1] = file:/home/rvnath/.m2/repository/org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.jar
[ERROR] urls[2] = file:/home/rvnath/.m2/repository/org/codehaus/plexus/plexus-compiler-api/1.9.1/plexus-compiler-api-1.9.1.jar
[ERROR] urls[3] = file:/home/rvnath/.m2/repository/org/codehaus/plexus/plexus-compiler-manager/1.9.1/plexus-compiler-manager-1.9.1.jar
[ERROR] urls[4] = file:/home/rvnath/.m2/repository/org/codehaus/plexus/plexus-compiler-javac/1.9.1/plexus-compiler-javac-1.9.1.jar
[ERROR] urls[5] = file:/home/rvnath/.m2/repository/junit/junit/3.8.1/junit-3.8.1.jar
[ERROR] Number of foreign imports: …
Run Code Online (Sandbox Code Playgroud)

eclipse maven unsupported-class-version

6
推荐指数
2
解决办法
2万
查看次数

从eclipse运行Ant时出现UnsupportedClassVersionError

我正在尝试从eclipse运行一个ant脚本,但它失败并显示以下消息:

BUILD FAILED
project_path/build.xml:5:
java.lang.UnsupportedClassVersionError: com/sun/tools/javac/Main :
Unsupported major.minor version 51.0
Run Code Online (Sandbox Code Playgroud)

但是,当我从命令行(./ant)运行它时,它按预期运行.
环境信息:

  • 操作系统:Linux Mint 64
  • Eclipse:Juno(4.2.1)
  • JDK:Oracle 1.7.0_11
  • Ant(命令行):1.8.2

我还将"Ant Home"(在eclipse设置中)设置为与我在命令行中使用的相同.

我在这个问题上搜索了很多,但我似乎找不到任何有用的东西,我可以尝试卸载我目前已安装的所有java(jdk/jre),然后重新安装java 7,但我不想采取这条路线.

有任何想法吗?谢谢!

java eclipse ant unsupported-class-version

5
推荐指数
1
解决办法
1万
查看次数

如何设置JDK版本来编译JSP页面?

我在Eclipse Luna中做了一个GAE项目.一切正常,直到我添加了一个JSP页面.
现在,当我部署新版本时,无论是否调用JSP都没有问题,我得到以下异常:

java.lang.UnsupportedClassVersionError: org/apache/jsp/web/jsp/RecordExtraCost_jsp : Unsupported major.minor version 52.0
Run Code Online (Sandbox Code Playgroud)

读取Internet的原因是由于Java 8编译的代码在运行时在Java 7上运行.我检查了所有设置,一切看起来都很好.事实上,当我删除JSP文件并重新部署时,一切都会再次运行.

所以唯一的假设是eclipse使用JDK 8来编译JSP.那可能吗?如何在不从我的机器上删除JDK 8的情况下解决这个问题?

java eclipse google-app-engine jsp unsupported-class-version

5
推荐指数
1
解决办法
1307
查看次数

java.lang.IllegalArgumentException:不支持的类文件主要版本 58

我已经在 Eclipse 中包含了 TomEE,以便开始开发动态 Web 项目(我还是新手)。

在将项目添加到 TomEE 服务器之前,我可以毫无问题地启动它。

但是当我将项目添加到服务器并尝试运行它时,我收到错误: java.lang.IllegalArgumentException: Unsupported class file major version 58

我试图做的是为了解决它:

  • 更改服务器端口号
  • 删除并重新创建服务器
  • 检查web.xml文件以确保 servlet 映射正常
  • 重新配置项目的目标运行时
  • 重新配置eclipse的运行环境

版本:

  • TomEE: v8.0.3 羽
  • JDK:15.0.1
  • 日食:4.17.0

测试项目代码

测试服务程序

package my.test.project;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class TestServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/plain");
        PrintWriter out = response.getWriter();
        out.println("Hello this is a test");
        out.close();
    }
}
Run Code Online (Sandbox Code Playgroud)

网页.xml …

java eclipse apache-tomee unsupported-class-version

5
推荐指数
1
解决办法
6338
查看次数