执行时gradlew appengineRun,我始终得到:
Starting a Gradle Daemon (subsequent builds will be faster)
Mar 26, 2018 5:47:48 PM java.util.prefs.WindowsPreferences <init>
WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.
2018-03-26 17:47:51.665:INFO::main: Logging initialized @3872ms
2018-03-26 17:47:53.727:INFO:oejs.Server:main: jetty-9.3.18.v20170406
2018-03-26 17:48:01.040:WARN:oeja.ClassInheritanceHandler:qtp99347477-18:
java.lang.NullPointerException
at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:936)
at org.eclipse.jetty.annotations.ClassInheritanceHandler.addToInheritanceMap(ClassInheritanceHandler.java:72)
at org.eclipse.jetty.annotations.ClassInheritanceHandler.handle(ClassInheritanceHandler.java:58)
at org.eclipse.jetty.annotations.AnnotationParser$MyClassVisitor.visit(AnnotationParser.java:476)
at org.objectweb.asm.ClassReader.accept(ClassReader.java:650)
at org.objectweb.asm.ClassReader.accept(ClassReader.java:525)
at org.eclipse.jetty.annotations.AnnotationParser.scanClass(AnnotationParser.java:978)
at org.eclipse.jetty.annotations.AnnotationParser.parseJarEntry(AnnotationParser.java:958)
at org.eclipse.jetty.annotations.AnnotationParser.parseJar(AnnotationParser.java:902)
at org.eclipse.jetty.annotations.AnnotationParser.parse(AnnotationParser.java:851)
at org.eclipse.jetty.annotations.AnnotationConfiguration$ParserTask.call(AnnotationConfiguration.java:163)
at org.eclipse.jetty.annotations.AnnotationConfiguration$1.run(AnnotationConfiguration.java:546)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
at java.lang.Thread.run(Thread.java:745)
2018-03-26 17:48:01.087:WARN:oeja.ClassInheritanceHandler:qtp99347477-19: …Run Code Online (Sandbox Code Playgroud) 我正在尝试用 Jetty 替换 Tomcat,作为我的嵌入式 servlet 容器。然后需要使用EmbeddedServletContainerCustomizer()来配置将80端口的请求重定向到443端口(HTTPS)。但是我一开始就被这些gradlew构建错误困住了:
RedirectHttpToHttpsOnJettyConfig.java:7: 错误:包 org.springframework.boot.context.embedded 不存在
导入 org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer;
RedirectHttpToHttpsOnJettyConfig.java:8: 错误:包 org.springframework.boot.context.embedded 不存在
导入 org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer;
RedirectHttpToHttpsOnJettyConfig.java:9: 错误:包 org.springframework.boot.context.embedded.jetty 不存在
导入 org.springframework.boot.context.embedded.jetty.JettyEmbeddedServletContainerFactory;
RedirectHttpToHttpsOnJettyConfig.java:10: 错误:包 org.springframework.boot.context.embedded.jetty 不存在
导入 org.springframework.boot.context.embedded.jetty.JettyServerCustomizer;
...
这是我的 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 { …Run Code Online (Sandbox Code Playgroud)