gpt4 book ai didi

java - 使用 Java9 运行现有应用程序会导致 Guice Injector 出现 PreDestroy 错误

转载 作者:行者123 更新时间:2023-12-02 12:06:03 27 4
gpt4 key购买 nike

为了检查它是否运行,我尝试使用当前的 Oracle JDK9 (9.0.1) 运行 Java8 编译的应用程序。启动 guice 时,会收到 javax.annotation.PreDestroy 的 ClassNotFoundExceptionf,该异常包含在类路径上的 jar 中。我正在使用 JSR-250 扩展:http://code.mycila.com/guice/

在 Java8 中它照常运行。所以我想知道为什么 JDK 9 不向后兼容运行时环境。我是否错过了一些让它发挥作用的东西?或者我是否必须配置模块路径并在 Java9 中编译我的应用程序才能使其与 Java9 运行时一起运行?

这是堆栈跟踪:(完整部分在这里: https://pastebin.ca/3894786 )

c.g.i.Guice An exception was caught and reported. Message: java.lang.ClassNotFoundException: javax.annotation.PreDestroy java.lang.TypeNotPresentException: Type javax.annotation.PreDestroy not present

at java.base/sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(Unknown Source)

最佳答案

尝试使用以下 VM 标志运行您的应用程序:

--add-modules java.xml.ws.annotation

关于java - 使用 Java9 运行现有应用程序会导致 Guice Injector 出现 PreDestroy 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46905547/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com