多模块 gradle 项目中的 JAXB 依赖项
我有一个带有模块的 spring-boot 应用程序。结构看起来像这样:
|- commons
|- jaxb
|- main
commons
这里并不重要
jaxb build.gradle
:
apply plugin: "java"
apply plugin: "java-library"
bootJar {
enabled = false
}
jar {
enabled = true
}
dependencies {
implementation project(':commons')
api 'jakarta.activation:jakarta.activation-api:2.0.1'
api 'jakarta.xml.bind:jakarta.xml.bind-api:3.0.1'
api 'com.sun.xml.bind:jaxb-impl:3.0.2'
...
}
main build.gradle gradle
:
apply plugin: "java"
dependencies {
implementation project(':commons')
implementation project(':jaxb')
...
}
构建工作正常,但是当我尝试运行应用程序时,它以异常结束:
java.lang.ClassNotFoundException:jakarta.xml.bind.JAXBException
有谁知道为什么 jaxb
依赖项在运行时不可用?除了 jaxb
模块之外,我真的需要在 main
模块中声明它们吗?也许我在jaxb
模块build.gradle
中遗漏了一些东西?
我正在使用:openjdk 11.0.2 2019-01-15
I have a spring-boot
application with modules. Structure looks something like this:
|- commons
|- jaxb
|- main
commons
is not important here
jaxb build.gradle
:
apply plugin: "java"
apply plugin: "java-library"
bootJar {
enabled = false
}
jar {
enabled = true
}
dependencies {
implementation project(':commons')
api 'jakarta.activation:jakarta.activation-api:2.0.1'
api 'jakarta.xml.bind:jakarta.xml.bind-api:3.0.1'
api 'com.sun.xml.bind:jaxb-impl:3.0.2'
...
}
main build.gradle
:
apply plugin: "java"
dependencies {
implementation project(':commons')
implementation project(':jaxb')
...
}
Build works properly, but when I try to run the application it ends with exception:
java.lang.ClassNotFoundException: jakarta.xml.bind.JAXBException
Does anyone know why jaxb
dependencies are not available at runtime? Do I really need to declare them in main
module in addition to the jaxb
module? Maybe I'm missing something in jaxb
module build.gradle
?
I'm using: openjdk 11.0.2 2019-01-15
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论