gpt4 book ai didi

Java ServiceLoader : no error, 但也没有找到实现

转载 作者:行者123 更新时间:2023-12-01 10:13:30 27 4
gpt4 key购买 nike

我正在尝试弄清楚Java的ServiceLoader。我设置了一个非常基本的测试实现:

public class BaseThingy {

public BaseThingy(){

Iterator<WriteService> iter = ServiceLoader.load(WriteService.class).iterator();
while (iter.hasNext()) {
WriteService plugin = iter.next();
System.out.print(plugin.getText());
}

}}

界面:

public interface WriteService {

String getText();}

现在,据我所知,我编写了一个实现,并将实现类(没有其他文件或 list ??)放入一个 jar 中。

项目本身需要一个文件:META-INF\services\experimental.plugin.WriteService

在这个文件中,我写下了实现的全名(在我的例子中,这将是experimental.plugin.WriteHello)。

现在,我在 Intellij 中作为 IDE 工作。
我应该把文件放在哪里,以及带有实现类的 jar 应该放在哪里?
我没有收到任何错误,但也没有找到任何实现。
或者 jar 文件到底还需要什么额外的东西吗?

最佳答案

META-INF/services/experimental.plugin.WriteService 以及实现的 JAR 必须位于类路径中。

关于Java ServiceLoader : no error, 但也没有找到实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36036652/

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