C:\Users\xfl666.gradle\caches\modules-2\files-2.1\com.alibaba.fastjson2\fastjson2\2.0.14\15aafba518aa2ab423c762fb4d9d5619ba81bda0>"C:\Program Files\Java\graalvm-ce-java17-22.2.0\bin\jdeps" --multi-release 17 .\fastjson2-2.0.14.jar Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 Exception in thread "main" java.lang.module.FindException: Error reading module: .\fastjson2-2.0.14.jar at java.base/jdk.internal.module.ModulePath.readModule(ModulePath.java:350) at java.base/jdk.internal.module.ModulePath.scan(ModulePath.java:237) at java.base/jdk.internal.module.ModulePath.scanNextEntry(ModulePath.java:190) at java.base/jdk.internal.module.ModulePath.findAll(ModulePath.java:166) at jdk.jdeps/com.sun.tools.jdeps.JdepsConfiguration$Builder.build(JdepsConfiguration.java:521) at jdk.jdeps/com.sun.tools.jdeps.JdepsTask.buildConfig(JdepsTask.java:603) at jdk.jdeps/com.sun.tools.jdeps.JdepsTask.run(JdepsTask.java:557) at jdk.jdeps/com.sun.tools.jdeps.JdepsTask.run(JdepsTask.java:533) at jdk.jdeps/com.sun.tools.jdeps.Main.main(Main.java:49) Caused by: java.lang.module.InvalidModuleDescriptorException: Package com.alibaba.fastjson2.support not found in module at java.base/jdk.internal.module.ModuleInfo.invalidModuleDescriptor(ModuleInfo.java:1212) at java.base/jdk.internal.module.ModuleInfo.doRead(ModuleInfo.java:330) at java.base/jdk.internal.module.ModuleInfo.read(ModuleInfo.java:129) at java.base/jdk.internal.module.ModulePath.readJar(ModulePath.java:652) at java.base/jdk.internal.module.ModulePath.readModule(ModulePath.java:331) ... 8 more
原提问者GitHub用户xfl12345
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在使用 jdeps 工具进行依赖分析时,可能会出现各种错误和警告信息。这些错误和警告信息通常会提示您的应用程序存在哪些依赖关系问题,以及如何解决这些问题。以下是一些常见的 jdeps 错误和警告信息,以及可能的解决方案:
jdeps 报 "not found" 错误
这种错误通常表示 jdeps 无法找到指定的类或包。您可以通过设置类路径或模块路径来解决这个问题。例如,如果您的类路径中缺少某个类或包,您可以使用 -classpath 选项指定该类或包所在的路径:
Copy
jdeps -classpath /path/to/missing/class myapp.jar
如果您使用的是模块化程序,那么您可以使用 -p 选项指定模块路径:
Copy
jdeps -p /path/to/modules myapp.jar
jdeps 报 "cyclic dependence" 错误
这种错误通常表示您的应用程序存在循环依赖关系。您可以通过重新设计应用程序或模块来解决这个问题。例如,如果模块 A 依赖于模块 B,而模块 B 又依赖于模块 A,那么您可以将共享的代码提取到单独的模块中,以避免循环依赖关系。
jdeps 报 "unresolved dependency" 错误
这种错误通常表示您的应用程序依赖于某个类或包,但是 jdeps 无法找到该类或包的定义。您可以通过添加所需的依赖关系来解决这个问题。例如,如果您的应用程序依赖于某个类或包,但是 jdeps 报告找不到该类或包,那么您可以将该类或包所在的 JAR 文件或模块添加到类路径或模块路径中。
jdeps 报 "deprecated API" 警告
这种警告通常表示您的应用程序使用了已经过时的 API。您可以通过查找替代 API 或更新的版本来解决这个问题。例如,如果您的应用程序使用了已经过时的 API,您可以查找替代 API 或更新的版本,并将其用于您的应用程序。
这个错误是由于在编译fastjson2的时候,缺少com.alibaba.fastjson2.support这个包导致的。可以在pom.xml文件中添加该包的依赖,或者将该包添加到项目的classpath中。另外,还需要确保该包的版本与fastjson2的版本相匹配。
问题已修复,请用新版本
https://github.com/alibaba/druid/releases/tag/1.2.14
原回答者GitHub用户wenshao
根据报错信息,您的jdeps命令在分析fastjson2-2.0.14.jar时遇到了错误。错误的原因是在模块描述符中找不到com.alibaba.fastjson2.support包,导致无法读取该模块。
这种情况可能会影响进一步精简打包,因为jdeps工具需要正确的模块描述符来分析和解析模块间的依赖关系。
要解决这个问题,您可以尝试以下几个步骤:
请注意,这只是一些常见的解决方法,具体解决方案可能因您的环境和应用程序的特定情况而异。