serviceloader相关内容
我正在尝试为我的应用程序创建一个插件系统,我想从一些简单的事情开始.每个插件都应该打包在一个 .jar 文件中并实现 SimplePlugin 接口: package plugintest;公共接口 SimplePlugin {公共字符串 getName();} 现在我已经创建了一个 SimplePlugin 的实现,打包在一个 .jar 中并将它放在主应用程序的 plugin/子目录中:
..
当我尝试编译新的模块化 Java 11 应用程序时收到此错误消息: 启动层初始化时出错java.lang.module.FindException:无法为 C:\Users\inter\.m2\repository\xalan\xalan\2.7.2\xalan-2.7.2.jar 派生模块描述符引起:java.lang.module.InvalidModuleDescriptorExcepti
..
我的 ServiceLoader 不想加载我的新服务.我想我已经正确设置了所有内容. 核心.主 public class Main {公共静态无效主(字符串 [] args){System.out.println("之前");迭代器services = ServiceLoader.load(IService.class).iterator();而 (services.hasNext())
..
我尝试使用Java ServiceLoader 查找实现特定接口的所有类,如下所示: loader = ServiceLoader.load(Operation.class);尝试 {对于(操作o:加载程序){operation.add(o);}} catch(ServiceConfigurationError e){LOGGER.log(Level.SEVERE,“未捕获的异常",e);}
..
我正在尝试使用带有UrlClassLoader的java ServiceLoader从某个jar文件中加载插件,但似乎无法找到它来找到我的插件类.构建两个模块都可以,但是每当我运行下面的代码时,即使文件路径正确并且看不到混乱的地方,我都会得到 java.util.NoSuchElementException 我必须在IntelliJ项目, Test (加载插件并提供ServiceProvid
..
我正在尝试通过 VertX Mertrics 进行工作. exec:java Maven插件. 当我将应用程序打包到fatjar并使用 java -jar fat.jar -conf config.json -Dvertx.metrics.options.enabled = true 当我使用 mvn clean package exec:java -DskipTests 运行它时,我看到
..
我刚刚阅读了有关Java 9模块系统的信息,我想问一下 ServiceLoader .应用程序启动后,有什么方法可以添加服务实现?如何删除一些服务实现? 用例::我将有一些用于计算内容的应用程序.计算算法将在某些服务(Java 9模块)中定义.在不停止应用程序的情况下,可以采取任何步骤来替换此算法吗?我什么时候才能更换罐子,仅仅是计算会失败,并且我需要捕捉错误并在模块加载完成后重新启动?
..
我希望能够将枚举类型表示为接口实现,然后通过 ServiceLoader API将所有枚举加载为接口的单独实例/实现。该用例的一个示例是允许我的API的下游用户指定自定义值,但为枚举提供标准/通用实现。我的界面只需要一个字符串 name(),因此任何枚举都已经实现了它。 例如, CopyOption 接口,带有提供的 StandardCopyOption 枚举。假设我想通过 ServiceL
..
我正在用Eclipse编写一个Web应用程序。 我正在尝试使用ServiceLoader类加载某些插件。 ServiceLoader的文档说我需要在META-INF / services中放置一个文件。 我已经将文件放置在WebContent / META-INF中/ service文件夹,但是当我通过Eclipse运行JUnit测试时,找不到任何插件。 这是文件的正确位置
..
我正在使用 IntelliJ IDEA 上的项目,并且想在Java应用程序中为可扩展应用程序添加支持。 方法是,在这个jar文件中创建一个jar文件,应该在该目录中有一个META-INF / services目录,我需要添加一个文件名,该文件名应与全名相同。提供服务的接口的标准名称,并且在该文件中,它应该具有该接口的实现的标准名称。 这是加密和解密在我的项目中服务。 这两个是我程
..
几天以来一直在尝试此操作,但无法正常工作! 我正在尝试构建一个可插入的Java应用程序,可以在其中从命令行运行它,并在单独的文件夹中提供插件(罐子).看来ServiceLoader可以满足我的要求,但是我认为我需要一个特殊的情况,即jar不是类路径的一部分,而它们存储在不同的位置,因此,我需要使用ClassLoder指向其网址到该文件系统路径. 我要提供给主应用程序的一个插件是带有一些
..
情况 我正在开发一个使用Java的 URLClassLoader 和 ServiceLoader 加载jar文件的应用程序.在这些jar文件中是实现我的接口的提供程序.文件夹结构如在 oracle的帖子中所述. 该接口与在插件中实现该接口的类(com.x.projectname.plugin.IInterface.java)位于同一目录中.在插件中,接口和实现该接口的类都在 com.x
..
我正在构建一个MVC PHP框架,我想知道哪种最佳方法可以在我的类(无论是其他类还是纯配置)中加载所需的内容. 直到今天,我一直使用单例,注册表和最近的依赖项注入容器. 尽管许多人声称DI是必经之路,但在我看来,这只是将组件之间的耦合问题转移到另一个地方. 子集引入全局状态,注册表引入紧密耦合,DI引入...很好,非常复杂.我仍然很困惑,找不到找到彼此联系的正确方法. 与此同时,
..
我问是因为我完全不确定自己做对了.我正在将Eclipse用于Web项目.我们将其称为com.web.project包中的WebProject(duh). 我希望WebProject在运行时加载JAR插件,所以我认为我可以利用java.util.ServiceLoader的优势.因此,我在WebProject项目中创建了一个接口com.web.project.WebProjectPlugi
..
我有一个遗留Java应用程序,该应用程序具有类似这样的代码 ServiceLoader.load(SomeInterface.class) ,我想提供SomeInterface的模拟实现以供此代码使用.我使用了模拟嘲笑框架. 不幸的是,我无法更改旧版代码,也不想静态添加任何内容(例如,向META-INF添加内容). 是否有一种简单的方法可以在测试中执行此操作,即在测试运行时?
..
当我尝试编译新的模块化Java 11应用程序时,我收到此错误消息: Error occurred during initialization of boot layer java.lang.module.FindException: Unable to derive module descriptor for C:\Users\inter\.m2\repository\xalan\xalan
..
在我的应用程序中,我正在使用ServiceLoader加载具有不同ClassLoader的模块(.jar文件中的类),以便在不需要时从应用程序上下文和JVM本身中完全卸载它们.我知道“从JVM卸载类"可能不是一个常见的话题,有一些条件可以实现,所以我正在做出必要的努力.为了确保所有功能都按预期运行,我正在使用-XX:+ TraceClassLoading和-XX:+ TraceClassUnloa
..
我有一个问题,关于如何根据这种情况在Java 9中更改serviceloader 场景 项目 gert Class Main package gert; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.nio.charset.StandardCharsets
..
我在NetBeans模块应用程序中使用java ServiceLoader时遇到了麻烦。这是我正在尝试做的(它在Eclipse中的普通java应用程序中工作): 我有一个interface.jar,它声明了接口。我有implements.jar,它有几个这个接口的实现,都在spi / META-INF / services / my.package.name.MyInteface文件中指定(
..
作为对依赖性过敏的人,我什么时候会使用像OSGi这样的内容而不是内置的java 6 http://java.sun.com/javase/6/docs/api/java/util/ServiceLoader.html (我想让插件罐子成为掉在)。 (仅供参考,这是在scala应用程序中,对任何建议开放,ServiceLoader非常接近我想要的)。 解决方案 如果 ServiceLo
..