Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
wildfly忽略META-INF/services/java.util.prefs.PreferencesFactory_Java_Jboss_Wildfly - Fatal编程技术网

wildfly忽略META-INF/services/java.util.prefs.PreferencesFactory

wildfly忽略META-INF/services/java.util.prefs.PreferencesFactory,java,jboss,wildfly,Java,Jboss,Wildfly,我正在为WildFly 9.0.2部署一个具有以下结构的ear app.ear |- app-ejb.jar |- preferences-lib.jar |- META-INF/jboss-deployment-structure.xml preferences-lib.jar包含实现java.util.prefs.PreferencesFactory的自定义PreferencesFactory。还定义了META-INF/services/java.util.prefs.P

我正在为WildFly 9.0.2部署一个具有以下结构的ear

app.ear
   |- app-ejb.jar
   |- preferences-lib.jar
   |- META-INF/jboss-deployment-structure.xml
preferences-lib.jar包含实现java.util.prefs.PreferencesFactory的自定义PreferencesFactory。还定义了META-INF/services/java.util.prefs.PreferencesFactory

preferences-lib.jar
        |- com/**
        |- META-INF/services/java.util.prefs.PreferencesFactory
默认情况下,WildFly忽略META-INF文件夹,但允许使用jboss-deployment-structure.xml导入该文件夹。我尝试了各种组合,但WildFly一直忽略META-INF文件夹,因此我无法在应用程序中使用自定义首选项工厂

请帮助我解决此META-INF/服务导入问题

代码:

更新: 问题在于Java Preferences类,它使用系统类加载器加载服务提供者。 我通过编写自己的Preferences.systemRoot()函数实现修复了这个问题,它首先检查服务提供者,而不使用系统类加载器。 代码可以在上面提到的github链接中找到