serviceloader

    1熱度

    1回答

    我試圖使用在glassfish 4上部署的應用程序使用truevfs庫。如果在獨立的java-se應用程序中使用下面的代碼,但它無法查找文件系統提供者從玻璃魚內部使用時。 這是否起作用?我有什麼選擇? 代碼: Path uriPath = new TPath(new URI("http://localhost:8080/mytar.tar")); try (FileSystem zipfs =

    1熱度

    1回答

    我想在maven項目中的不同模塊之間使用ServiceLoader服務。我有一個名爲iMage的父模塊。在父模塊中有一個名爲jmjrst.main的模塊,它有一個名爲'JmjrstPlugin'的公共抽象類。 然後還有另一個模塊叫做prizm-plugin,它帶有以下類: 公共類HelloWorldPlugin擴展了JmjrstPlugin {...}。我將jmjrst.main添加爲prizm-

    5熱度

    1回答

    我使用的是單瓶包裝的工具在一個罐子礦的應用: http://one-jar.sourceforge.net/ 它的工作原理耐克,但我有一個問題服務在依賴模塊中實現,該模塊在單獨的jar中實現。 該模塊使用標準Java ServiceLoader機制來提供其服務,即該jar具有META-INF/services/package.name.ServiceProviderClass文件,該文件指定要實例

    0熱度

    1回答

    我在Eclipse中創建了一個Maven模塊,並且在那裏有一個名爲'target'的文件夾。這在我看到在Eclipse中的包瀏覽器。如果我打開它,有幾個文件夾。如果我在Windows的文件瀏覽器中打開它,我會看到更多的文件夾,例如其中一個名爲classes/META-INF/services/*,這是我在模塊中的某些類之前使用註釋創建的。爲什麼我只能在Windows文件資源管理器中看到這些文件,而

    0熱度

    1回答

    我有一個問題,將ServiceLoader集成到我的Android應用程序中,以集成插件系統。 public class StrategieClassLoader extends URLClassLoader { private ClassLoader m_SystemClassLoader; private static Set<String> m_SaveClasses

    0熱度

    1回答

    我想了解Java的ServiceLoader的概念,工作機制和具體的使用案例,但找到官方documentation太抽象和混亂。 首先,文件概述了服務和服務提供商。 服務是一組打包在jar文件(API庫)中的接口和抽象類。服務提供者是一組實現或擴展API的類,它們封裝在一個獨特的jar文件(提供程序庫)中。 到目前爲止好,但隨後文檔變得混亂。 爲了加載,服務由單一類型表示,即單個接口或抽象類。 (

    2熱度

    1回答

    我正在編寫一個庫,我希望我的庫的用戶實現一個接口。從我的庫中我調用這個實現。 我使用ServiceLoader實例化集成器提供的實現,它工作得很好。集成商在我的庫中調用一個start()方法,最終他得到一些回報。這個實現用來給我提供一些我需要的方式來獲得最終結果。 (我故意不使用CDI或任何其他DI容器,因爲我想創建一個可以在任何地方使用的庫。在桌面應用程序中,彈出應用程序使用guice的應用程序

    0熱度

    1回答

    我有以下gradle這個構建配置: : plugins { id 'com.github.johnrengelman.shadow' version '1.2.3' } group 'abc' version '1.0-SNAPSHOT' apply plugin: 'java' apply plugin: 'application' mainClassName = "abc.D

    0熱度

    2回答

    我正在試圖製作一個Java應用程序,它可以加載插件來實現一個抽象類,並且有一個AbstractMethodError與從ServiceLoader生成的實例。代碼有點沉重,所以我在下面進行了簡化。 首先,我有一個抽象類: package stuff.TheAbstractClass; public abstract class TheAbstractClass implements Class

    9熱度

    4回答

    我有了代碼是這樣的 ServiceLoader.load(SomeInterface.class) 遺留的Java應用程序,我想提供一個模擬實現SomeInterface的此代碼使用。我使用mockito嘲笑框架。 不幸的是,我無法更改遺留代碼,也不希望靜態添加任何東西(例如添加東西到META-INF)。 有沒有一種簡單的方法可以在測試中做到這一點,即。在測試的運行時間?