我有一个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,然后在所有设置调整后再次尝试该命令,它仍然抛出相同的错误.
我在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)
我该如何解决这个问题?
可能重复:
不支持的主要.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) 我在我WAR file的webapps文件夹中部署了一个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) 我正在尝试通过 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) 失败:构建失败并出现异常。
其中:构建文件 'D:\D\FitCoachApp\fit_coach_app\android\build.gradle'
出了什么问题:无法编译构建文件“D:\D\FitCoachApp\fit_coach_app\android\build.gradle”。
启动失败:转换期间出现一般错误:不支持的类文件主要版本 64
java.lang.IllegalArgumentException:不支持的类文件主要版本 64
我正在使用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运行一个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)运行它时,它按预期运行.
环境信息:
我还将"Ant Home"(在eclipse设置中)设置为与我在命令行中使用的相同.
我在这个问题上搜索了很多,但我似乎找不到任何有用的东西,我可以尝试卸载我目前已安装的所有java(jdk/jre),然后重新安装java 7,但我不想采取这条路线.
有任何想法吗?谢谢!
我在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
我已经在 Eclipse 中包含了 TomEE,以便开始开发动态 Web 项目(我还是新手)。
在将项目添加到 TomEE 服务器之前,我可以毫无问题地启动它。
但是当我将项目添加到服务器并尝试运行它时,我收到错误: java.lang.IllegalArgumentException: Unsupported class file major version 58
web.xml文件以确保 servlet 映射正常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)