为什么这个Spring Boot jar会抛出UnsupportedClassVersion错误?

时间:2015-12-28 19:50:14

标签: java spring gradle spring-boot

precisely followed the steps in the tutorial at this link 创建一个Spring Boot Web服务。当终端指向未编译应用程序的根目录时,我能够在我的本地CentOS 7 devbox上运行该服务,并输入以下内容:

# ./gradlew clean build && java -jar build/libs/gs-actuator-service-0.1.0.jar  

但是,当我scp生成jar远程CentOS 7网络服务器并将jar移至/some/arbitrary/path/to/jar/gs-actuator-service-0.1.0.jar时,该应用会抛出错误而不是加载然后是cd /some/arbitrary/path/to/jar/java -jar gs-actuator-service-0.1.0.jar如何解决此错误,从而能够在远程CentOS 7网络服务器上成功启动应用程序?

我认为错误与目录结构有关,但我只想在Web服务器上使用jar。我不想在服务器上使用un-jarred应用程序。我知道消除错误的唯一方法是在服务器上重新创建非震撼的应用程序。如何在不诉诸将整个非震撼的应用程序加载到服务器的情况下解决问题?

这是堆栈跟踪:

$ java -jar gs-actuator-service-0.1.0.jar
Exception in thread "main" java.lang.UnsupportedClassVersionError: hello/HelloWorldConfiguration : Unsupported major.minor version 52.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at org.springframework.boot.loader.LaunchedURLClassLoader.doLoadClass(LaunchedURLClassLoader.java:170)
    at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:142)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:47)
    at java.lang.Thread.run(Thread.java:745)
$ 

0 个答案:

没有答案