我有一个SpringBoot应用程序与Java 8一起正常运行。我刚刚被告知我们将部署应用程序的服务器只能运行Java 7或更低版本。它仍然是一个小应用程序,但我试图改变build.gradle
使其工作。我遇到了错误:
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/springframework/boot/SpringApplication : Unsupported major.minor version 52.0
这是我的build.gradle
:
buildscript {
ext {
springBootVersion = '1.5.16.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
group = 'com.menighin'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.7
targetCompatibility = 1.7
repositories {
mavenCentral()
}
dependencies {
compile("org.springframework.boot:spring-boot-starter-web")
compile('org.springframework.boot:spring-boot-starter-data-rest')
// compile('org.springframework.boot:spring-boot-starter-security')
compile('org.springframework.session:spring-session-core')
runtime('org.springframework.boot:spring-boot-devtools')
compileOnly('org.projectlombok:lombok')
testCompile('org.springframework.boot:spring-boot-starter-test')
// testCompile('org.springframework.security:spring-security-test')
}
我只是降低了springBootVersion
并将sourceCompatibility
和targetCompatibility
设置为1.7
。有什么想法我需要改变哪些版本? SpringBoot documentation on 1.5.16好像坏了:/
我认为无论如何都不会飞。该类/ JAR是为JDK 1.8
编译的。因此UnsupportedClassVersionError
。
无论如何,那个版本是SNAPSHOT
。我建议使用1.5.15 GA
(你看,只有一个次要的版本更低; p)...并且保证对Java 1.7
运行 - 除非编写文档的人做错了什么。请参阅System Requirements。