+-
参见英文答案 > What is the replacement for javax.activation package in java 9? 2个
> Replacements for deprecated JPMS modules with Java EE APIs 6个
我正在迁移java项目使用JDK8来使用JDK 11然后发生了javax激活相关的错误.
遵循Oracle的迁移指南, I see java.activation that module was removed from JDK 11.
> Replacements for deprecated JPMS modules with Java EE APIs 6个
我正在迁移java项目使用JDK8来使用JDK 11然后发生了javax激活相关的错误.
遵循Oracle的迁移指南, I see java.activation that module was removed from JDK 11.
之后,我建议添加第三方** activation-1.0.2.jar *但仍然发生了错误?
请提出有关问题的建议?你能否告诉我有关迁移源代码使用Java 8到Java 11的经验(服务器与tomcat 9.0.12.编译器Eclipse 2018-09(4.9.0)
这是详细错误:
Caused by: java.lang.NoClassDefFoundError: javax/activation/DataSource
at java.base/java.lang.Class.getDeclaredMethods0(Native Method)
at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3167)
at java.base/java.lang.Class.getDeclaredMethods(Class.java:2310)
at org.apache.catalina.util.Introspection.getDeclaredMethods(Introspection.java:133)
at org.apache.catalina.startup.WebAnnotationSet.loadMethodsAnnotation(WebAnnotationSet.java:285)
at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:138)
at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:69)
at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:328)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:768)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:299)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5007)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
最佳答案
你似乎包含了一个不正确的工件(外部jar).
您应该包含javax.activation:javax.activation-api:1.2.0作为项目的外部依赖项,以显式访问类javax.activation.DataSource.相同的样本maven依赖关系是:
<dependency>
<groupId>javax.activation</groupId>
<artifactId>javax.activation-api</artifactId>
<version>1.2.0</version>
</dependency>
另外,请注意,如果使用模块化代码(包括module-info.java),则必须使用声明声明对库的依赖 –
requires java.activation;
点击查看更多相关文章
转载注明原文:迁移到JDK 11时出现错误“java.lang.NoClassDefFoundError:javax / activation / DataSource”(tomcat 9.0.12) - 乐贴网