当使用gradle构建下面的Spring session示例时:https://docs.spring.io/spring-session/docs/current/reference/html5/guides/boot-findbyusername.html
我遇到一个关于java.annotation模块的错误,有谁知道如何解决这个问题吗?
/spring-session/spring-session-core/src/main/java/org/springframework/session/config/annotation/web/http/SpringHttpSessionConfiguration.java:22: error: package javax.annotation is not visible
import javax.annotation.PostConstruct;
^
(package javax.annotation is declared in module java.xml.ws.annotation, which is not in the module graph)
warning: unknown enum constant When.MAYBE
reason: class file for javax.annotation.meta.When not found
1 error
1 warning
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':spring-session-core:compileJava'.
> Compilation failed; see the compiler error output for details.
我尝试在build.gradle中添加下面的配置,但是问题仍然存在。
tasks.withType(AbstractCompile) {
options.compilerArgs += ["--add-modules", "java.xml.bind"]
}
tasks.withType(Test) {
jvmArgs += ["--add-modules", "java.xml.bind"]
}
发布于 2019-09-10 00:02:31
我得到了同样的错误:
warning: unknown enum constant When.MAYBE
reason: class file for javax.annotation.meta.When not found
对我来说,这是因为我使用lombok
进行批注处理,而不是项目依赖项。
最后,我添加了annotationProcessor
作为依赖项的一部分,如下所示:
dependencies {
// ...
compile('org.springframework.boot:spring-boot-starter-web')
compileOnly('org.projectlombok:lombok')
testCompile('org.springframework.boot:spring-boot-starter-test')
// ...
annotationProcessor('org.projectlombok:lombok')
}
发布于 2018-07-28 11:46:53
似乎示例还没有升级到支持java9,降级到java8它运行得很好。
https://stackoverflow.com/questions/51567723
复制相似问题