java - jaxb:未找到 xjc.sh java.activation
问题描述
我已经下载了 jaxb-ri:
$ tree -L 1
.
├── bin
├── docs
├── License.txt
├── mod
├── samples
└── ThirdPartyLicenseReadme.txt
我的java版本是:
$ java -version
openjdk version "11.0.7" 2020-04-14
不过,当我尝试执行时xjc.sh -help
,我收到以下错误消息:
Java major version: 11
java.lang.module.FindException: Module java.activation not found, required by com.sun.istack.runtime
at java.base/java.lang.module.Resolver.findFail(Resolver.java:877)
at java.base/java.lang.module.Resolver.resolve(Resolver.java:191)
at java.base/java.lang.module.Resolver.resolve(Resolver.java:140)
at java.base/java.lang.module.Configuration.resolveAndBind(Configuration.java:315)
at java.base/java.lang.module.ModuleDescriptor$1.resolveAndBind(ModuleDescriptor.java:2693)
at java.base/jdk.internal.module.ModuleBootstrap.boot(ModuleBootstrap.java:354)
at java.base/java.lang.ClassLoader.initializeClassLoaders(ClassLoader.java:211)
at java.base/java.lang.Thread.initialize(Thread.java:430)
at java.base/java.lang.Thread.<init>(Thread.java:155)
解决方案
您需要包含 javax.activation 模块。我是这样做的:
- 从这里下载 jar:https ://mvnrepository.com/artifact/com.sun.activation/javax.activation/1.2.0
- 将其复制到“mod”文件夹
- 在 $JAXB_PATH 中包含 jar,如下所示:
...
JAXB_PATH=${JAXB_HOME}/mod/jaxb-xjc.jar:\
${JAXB_HOME}/mod/javax.activation-1.2.0.jar:\
${JAXB_HOME}/mod/jaxb-api.jar:\
...
然后再次运行 xjc.sh :)
推荐阅读
- c - Is it possible to pack a local variable with particular alignment?
- apache-kafka - 突然 Kafka Streams (scala) 应用程序陷入重新加入过程(没有明显原因)并且从未完成它
- javascript - 从 Redux 传递 props
- sql - 如何将一个表的每一组与另一个表中的列进行比较?
- python - 如何将系列添加到现有数据框?
- angular - 日期选择器中的日期未显示在更新表单中,我在角度使用补丁值,而其他数据正在显示
- php - pushHTTP 和 php - 如何?
- php - 如何使用 Laravel eloquent 获取表中每个用户的最新记录
- docx4j - Docx4j 6.1.2 - 将 Flat Open XML 转换为 Xlsx
- sql - 转换后如何保留数据类型和小数 - Oracle