Reputation: 163
I am trying to replace Tomcat with Jetty, as my embedded servlet container. And then need to use EmbeddedServletContainerCustomizer() to configure redirecting requests at port 80 to port 443 (HTTPS). But I am stuck at the very beginning with these gradlew build errors:
RedirectHttpToHttpsOnJettyConfig.java:7: error: package org.springframework.boot.context.embedded does not exist
import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer;
RedirectHttpToHttpsOnJettyConfig.java:8: error: package org.springframework.boot.context.embedded does not exist
import org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer;
RedirectHttpToHttpsOnJettyConfig.java:9: error: package org.springframework.boot.context.embedded.jetty does not exist
import org.springframework.boot.context.embedded.jetty.JettyEmbeddedServletContainerFactory;
RedirectHttpToHttpsOnJettyConfig.java:10: error: package org.springframework.boot.context.embedded.jetty does not exist
import org.springframework.boot.context.embedded.jetty.JettyServerCustomizer;
...
Here's my build.gradle:
buildscript {
ext {
springBootVersion = '2.0.0.BUILD-SNAPSHOT'
}
repositories {
mavenCentral()
maven { url "https://repo.spring.io/snapshot" }
maven { url "https://repo.spring.io/milestone" }
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
ext['thymeleaf.version'] = '3.0.9.RELEASE'
war {
baseName = 'reachout'
version = '0.0.2'
}
compileJava {
options.warnings = true
options.debug = true
options.compilerArgs += ["-Xlint:deprecation"]
}
sourceSets {
main {
java {
exclude '**/RedirectHttpToHttpsOnTomcatConfig.java'
}
}
}
repositories {
mavenCentral()
maven { url "https://repo.spring.io/snapshot" }
maven { url "https://repo.spring.io/milestone" }
}
dependencies {
compile('org.springframework.boot:spring-boot-starter-thymeleaf')
compile("org.springframework.boot:spring-boot-starter-web") {
exclude module: "spring-boot-starter-tomcat"
}
compile("org.springframework.boot:spring-boot-starter-jetty")
compile('org.springframework.boot:spring-boot-starter-actuator')
compile('org.springframework.boot:spring-boot-starter-security')
compile('org.thymeleaf.extras:thymeleaf-extras-springsecurity4')
compile("org.springframework.boot:spring-boot-starter-jdbc")
compile("org.springframework.boot:spring-boot-starter-data-jpa")
compile("com.h2database:h2")
}
sourceCompatibility = 1.8
targetCompatibility = 1.8
Any pointers are much appreciated.
Upvotes: 2
Views: 20257
Reputation: 840
Duplicate. See
Spring Boot 2.0.0.M1: Where is the package org.springframework.boot.context.embed?
Here is the relevant spring commit
https://github.com/spring-projects/spring-boot/commit/67556ba8eaf22a352b03fe197a0c452f695835a6
Upvotes: 8