如何忽略/升级JBoss Wildfly 9中的模块?

如何忽略/升级JBoss Wildfly 9中的模块?,jboss,module,wildfly,bouncycastle,Jboss,Module,Wildfly,Bouncycastle,我刚刚在Mac10.9.5上下载了带有Java7的Wildfly 9.0.0.CR2。我注意到,默认情况下,Wildfly 9包含一个bouncycastle模块(modules/system/layers/base/org/bouncycastle/main/bcprov-jdk15on-1.52.jar)。我想在Wildfly中安装另一个bouncycastle模块(bcprov-jdk16-1.46.jar)。有没有办法禁用JBoss包含的那个?当我试图删除Jboss包含的模块(modul

我刚刚在Mac10.9.5上下载了带有Java7的Wildfly 9.0.0.CR2。我注意到,默认情况下,Wildfly 9包含一个bouncycastle模块(modules/system/layers/base/org/bouncycastle/main/bcprov-jdk15on-1.52.jar)。我想在Wildfly中安装另一个bouncycastle模块(bcprov-jdk16-1.46.jar)。有没有办法禁用JBoss包含的那个?当我试图删除Jboss包含的模块(modules/system/layers/base/org/bouncycastle/folder)时,我在Jboss启动时遇到了错误

08:36:19,086 ERROR [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0055: Caught exception during boot:    org.jboss.as.controller.persistence.ConfigurationPersistenceException: WFLYCTL0085: Failed to parse configuration
    at org.jboss.as.controller.persistence.XmlConfigurationPersister.load(XmlConfigurationPersister.java:131)
    at org.jboss.as.server.ServerService.boot(ServerService.java:350)
    at org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:271)
    at java.lang.Thread.run(Thread.java:745)
Caused by: javax.xml.stream.XMLStreamException: WFLYCTL0083: Failed to load module org.jboss.as.weld
    at org.jboss.as.controller.parsing.ExtensionXml.parseExtensions(ExtensionXml.java:155)
    at org.jboss.as.server.parsing.StandaloneXml.readServerElement_1_4(StandaloneXml.java:433)
    at org.jboss.as.server.parsing.StandaloneXml.readElement(StandaloneXml.java:144)
    at org.jboss.as.server.parsing.StandaloneXml.readElement(StandaloneXml.java:106)
    at org.jboss.staxmapper.XMLMapperImpl.processNested(XMLMapperImpl.java:110)
    at org.jboss.staxmapper.XMLMapperImpl.parseDocument(XMLMapperImpl.java:69)
    at org.jboss.as.controller.persistence.XmlConfigurationPersister.load(XmlConfigurationPersister.java:123)
    ... 3 more

你可以看看这个讨论,这几乎是你想做的事情(相反方向的w.r.t.版本):

总之,您可以创建一个自定义模块(或者,我认为,为现有模块创建另一个插槽?),并在jboss-deployment-structure.xml中引用该模块,而不是wildfly附带的默认模块

如果您不想/不需要BC作为一个模块,您也可以将它包含在EAR/WAR的lib文件夹中,然后从那里加载它

我们的部署结构基本上如下所示:

my.ear
  + lib/ <-- dependencies for multi-submodule deployment
  + META-INF/ <-- application.xml defines submodule(s) e.g. web.war, 
              <-- also jboss-deployment-structure.xml to include/export wildfly core modules for your EAR
  + web.war <-- our core deployment
my.ear

+lib/您可以看看这个讨论,这几乎是您想要做的事情(相反方向的w.r.t.版本):

总之,您可以创建一个自定义模块(或者,我认为,为现有模块创建另一个插槽?),并在jboss-deployment-structure.xml中引用该模块,而不是wildfly附带的默认模块

如果您不想/不需要BC作为一个模块,您也可以将它包含在EAR/WAR的lib文件夹中,然后从那里加载它

我们的部署结构基本上如下所示:

my.ear
  + lib/ <-- dependencies for multi-submodule deployment
  + META-INF/ <-- application.xml defines submodule(s) e.g. web.war, 
              <-- also jboss-deployment-structure.xml to include/export wildfly core modules for your EAR
  + web.war <-- our core deployment
my.ear

+lib/WildFly使用模块化类加载,因此并非所有内容都在每个模块的类路径上。 部署本身只是另一个模块,它根据部署描述符告诉服务器应该添加的内容获取额外的依赖项

谈到bouncycastle,有些模块本身需要它,但这并不意味着它们会向您的部署公开此依赖关系

在8.0中有一个bug导致BC暴露于用户部署中,以防用户部署使用web服务。这是自年以来修复的。 考虑到您使用的是WildFly 9,这应该不再是问题了

正如其他人所建议的,您可以使用不同的名称或至少不同的插槽名称创建新模块,您可以通过jboss-deployment-structure.xml包含这些名称


顺便说一句,bcprov-jdk16-1.46比WildFly中提供的要旧得多

WildFly使用模块化类加载,因此并非所有内容都在每个模块的类路径上。 部署本身只是另一个模块,它根据部署描述符告诉服务器应该添加的内容获取额外的依赖项

谈到bouncycastle,有些模块本身需要它,但这并不意味着它们会向您的部署公开此依赖关系

在8.0中有一个bug导致BC暴露于用户部署中,以防用户部署使用web服务。这是自年以来修复的。 考虑到您使用的是WildFly 9,这应该不再是问题了

正如其他人所建议的,您可以使用不同的名称或至少不同的插槽名称创建新模块,您可以通过jboss-deployment-structure.xml包含这些名称


顺便说一句,bcprov-jdk16-1.46比WildFly中提供的要旧得多

我添加了我自己的bouncycastle模块,并相应地调整了jboss-deployment-structure.xml,但是jboss绝对不可能不读取自己的bouncycastle模块吗?没有办法禁用它吗?在我的WEB-INF/lib目录中不能打包bouncycastle JAR。wildfly中的BC dep是用resteasy引入的,但我认为其他几个模块都希望它现在会出现(picketlink?),我添加了自己的bouncycastle模块,并相应地调整了jboss-deployment-structure.xml,但JBoss绝对不可能不读取自己的bouncycastle模块吗?没有办法禁用它吗?它不是在我的WEB-INF/lib目录中打包bouncycastle JAR的选项。wildfly中的BC dep是在resteasy中引入的,但我认为其他几个模块希望它现在就在那里(picketlink?)