gpt4 book ai didi

java - 在使用 Java 模块时规避旧的 java meta-inf/services

转载 作者:行者123 更新时间:2023-12-05 04:58:31 25 4
gpt4 key购买 nike

我正在尝试使用 Batik-library 制作一个显示 SVG 图像的 Java FX 应用程序,但我在正确导入所有组件时遇到问题。

经过大约 5 小时的搜索和测试,我终于更改了其中一个依赖项的 jar 以删除早于当前模块系统的旧 Java 服务(或您称之为的任何内容)。因此,当前的解决方法是手动删除“batik-script-1.13.jar”中的“META-INF/services/org.apache.batik.script.InterpreterFactory”文件。

是否有正确的方法来做到这一点?在我的项目模块信息中,还是通过 Maven?无需手动更改 jar?

提前致谢! :)

如果相关:Mac 操作系统,Java openjdk-14.0.2,Maven 3.6.3,VSCode 1.49.0

最佳答案

TL;DR — 无法绕过 batik 库的 java.lang.module.InvalidModuleDescriptorException 使用 JPMS 系统的问题。


冗长的版本

几个月前,我自己也遇到了同样的问题。我发现,很可能也发现了,this old Jigsaw Dev mailing list post ……

> 2) Error occurred during initialization of boot layer

> java.lang.module.FindException: Unable to derive module descriptor for

> .m2\repository\org\apache\xmlgraphics\batik-script\1.8\batik-script-1.8.jar

> Caused by: java.lang.module.InvalidModuleDescriptorException: Provider

> class org.apache.batik.bridge.RhinoInterpreterFactory not in module

There exists META-INF/services/org.apache.batik.script.InterpreterFactory config file with a provider class that is not in this module.

回复 OP 的人是 a member of the Java Platform Development Teamdecades of experience .

我解释了他们对邮件列表 OP 的“我建议您联系该库的维护者以发布一个可以作为模块运行的版本”的建议,作为尝试使用带有 JPMS 的 batik 库是没有希望的。

关于java - 在使用 Java 模块时规避旧的 java meta-inf/services,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63910813/

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