我正在使用 Spring Tool Suite(基本上与 Eclipse 相同,实际上找不到区别,但我正在使用它)进行分配,当我右键单击项目并单击时出现错误'运行方式-> Maven 安装'。
线程“main”中的异常 java.lang.UnsupportedClassVersionError: org/apache/maven/cli/MavenCli : java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader) 中不受支持的 major.minor 版本 51.0 .java:637) 在 java.lang.ClassLoader.defineClass(ClassLoader.java:621) 在 java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) 在 java.net.URLClassLoader.defineClass(URLClassLoader.java:283)在 java.net.URLClassLoader.access$000(URLClassLoader.java:58) 在 java.net.URLClassLoader$1.run(URLClassLoader.java:197) 在 java.security.AccessController.doPrivileged(Native Method) 在 java.net.URLClassLoader .findClass(URLClassLoader.java:190) 在 org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf(ClassRealm.java:401) 在 org.codehaus.plexus.classworlds。strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:42) at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271) at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm. java:254) at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239) at org.codehaus.plexus.classworlds.launcher.Launcher.getMainClass(Launcher.java:144) at org.codehaus .plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:266) 在 org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) 在 org.codehaus.plexus.classworlds.launcher.Launcher .mainWithExitCode(Launcher.java:415) 在 org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271) 在 org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:254) 在 org.codehaus.plexus.classworlds.realm.ClassRealm。 loadClass(ClassRealm.java:239) 在 org.codehaus.plexus.classworlds.launcher.Launcher.getMainClass(Launcher.java:144) 在 org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:266)在 org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) 在 org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) 在 org.codehaus.plexus.classworlds .launcher.Launcher.main(Launcher.java:356)plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271) 在 org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:254) 在 org.codehaus.plexus.classworlds.realm.ClassRealm。 loadClass(ClassRealm.java:239) 在 org.codehaus.plexus.classworlds.launcher.Launcher.getMainClass(Launcher.java:144) 在 org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:266)在 org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) 在 org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) 在 org.codehaus.plexus.classworlds .launcher.Launcher.main(Launcher.java:356)254) 在 org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239) 在 org.codehaus.plexus.classworlds.launcher.Launcher.getMainClass(Launcher.java:144) 在 org.codehaus.plexus .classworlds.launcher.Launcher.launchEnhanced(Launcher.java:266) 在 org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) 在 org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415) 在 org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)254) 在 org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239) 在 org.codehaus.plexus.classworlds.launcher.Launcher.getMainClass(Launcher.java:144) 在 org.codehaus.plexus .classworlds.launcher.Launcher.launchEnhanced(Launcher.java:266) 在 org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) 在 org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415) 在 org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)在 org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) 的 org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) 启动(Launcher.java:229)在 org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) 的 org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) 启动(Launcher.java:229)
我在堆栈交换中发现的所有其他内容都暗示这与 Java 版本有关,但我不知道我是怎么弄错的。当我在终端上运行 mvn -version 我得到
Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T21:57:37+10:00)
Maven home: /usr/local/Cellar/maven/3.3.3/libexec
Java version: 1.8.0_60, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.10.4", arch: "x86_64", family: "mac"
当我运行 java -version 我得到
java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
我尝试设置 JAVA_HOME (根据Maven Installation OSX Error Unsupported major.minor version 51.0)并将其设置为正确的路径。
我的 STS 设置说它正在使用 1.8 编译,并使用 1.8 运行,并且项目的属性说它也在使用 1.8 编译。我不明白问题出在哪里。
我最初尝试将所有内容都更改为 Java 1.7 以查看这是否是问题所在,但它仍然没有帮助。最后我把它改回了 1.8,因为那是我小组的其他人正在使用的。
这是我的第一篇文章,所以我不能发布屏幕截图,它们在链接中。 http://imgur.com/a/al7go