Wildfly 如何删除 Mail 等模块
Wildfly how to remove module such as Mail
为了服务瘦身,我尝试去掉了javax.xml下的mail模块。
在 standalone-full.xml 中删除对该模块的所有引用并尝试 运行 Wildfly 时,我收到以下 异常 :
13:09:36,301 ERROR [org.jboss.as.controller] (Controller Boot Thread)
JBAS014601: Error booting the container:
org.jboss.modules.ModuleLoadError: javax.mail.api:main at
org.jboss.modules.ModuleLoadException.toError(ModuleLoadException.java:78)
[jboss-modules.jar:1.3.3.Final] at
org.jboss.modules.Module.getPathsUnchecked(Module.java:1392)
[jboss-modules.jar:1.3.3.Final] at
org.jboss.modules.Module.loadModuleClass(Module.java:563)
[jboss-modules.jar:1.3.3.Final] at
org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:205)
[jboss-modules.jar:1.3.3.Final] at
org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:459)
[jboss-modules.jar:1.3.3.Final] at
org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:408)
[jboss-modules.jar:1.3.3.Final] at
org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:389)
[jboss-modules.jar:1.3.3.Final] at
org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:134)
[jboss-modules.jar:1.3.3.Final] at
org.wildfly.extension.batch.BatchSubsystemDefinition.(BatchSubsystemDefinition.java:86)
at
org.wildfly.extension.batch.BatchSubsystemParser.readElement(BatchSubsystemParser.java:59)
at
org.wildfly.extension.batch.BatchSubsystemParser.readElement(BatchSubsystemParser.java:47)
at
org.jboss.staxmapper.XMLMapperImpl.processNested(XMLMapperImpl.java:110)
[staxmapper-1.1.0.Final.jar:1.1.0.Final] at
org.jboss.staxmapper.XMLExtendedStreamReaderImpl.handleAny(XMLExtendedStreamReaderImpl.java:69)
[staxmapper-1.1.0.Final.jar:1.1.0.Final] at
org.jboss.as.server.parsing.StandaloneXml.parseServerProfile(StandaloneXml.java:1131)
[wildfly-server-8.2.1.Final.jar:8.2.1.Final] at
org.jboss.as.server.parsing.StandaloneXml.readServerElement_1_4(StandaloneXml.java:458)
[wildfly-server-8.2.1.Final.jar:8.2.1.Final] at
org.jboss.as.server.parsing.StandaloneXml.readElement(StandaloneXml.java:145)
[wildfly-server-8.2.1.Final.jar:8.2.1.Final] at
org.jboss.as.server.parsing.StandaloneXml.readElement(StandaloneXml.java:107)
[wildfly-server-8.2.1.Final.jar:8.2.1.Final] at
org.jboss.staxmapper.XMLMapperImpl.processNested(XMLMapperImpl.java:110)
[staxmapper-1.1.0.Final.jar:1.1.0.Final] at
org.jboss.staxmapper.XMLMapperImpl.parseDocument(XMLMapperImpl.java:69)
[staxmapper-1.1.0.Final.jar:1.1.0.Final] at
org.jboss.as.controller.persistence.XmlConfigurationPersister.load(XmlConfigurationPersister.java:104)
[wildfly-controller-8.2.1.Final.jar:8.2.1.Final] at
org.jboss.as.server.ServerService.boot(ServerService.java:331)
[wildfly-server-8.2.1.Final.jar:8.2.1.Final] at
org.jboss.as.controller.AbstractControllerService.run(AbstractControllerService.java:259)
[wildfly-controller-8.2.1.Final.jar:8.2.1.Final] at
java.lang.Thread.run(Unknown Source) [rt.jar:1.8.0_45]
13:09:36,321 INFO [org.jboss.as] (MSC service thread 1-8) JBAS015950:
WildFly 8.2.1.Final "Tweek" stopped in 20ms Java HotSpot(TM) 64-Bit
Server VM warning: ignoring option MaxPermSize=256m; support was
removed in 8.0
谁能告诉我我做错了什么?
是否还有其他地方需要删除模块依赖项?如果有,它位于哪个文件中?
您混淆了模块和子系统。
要减少运行时服务的数量,您可以从 standalone.xml
中删除扩展和相应的子系统定义。
如果从安装中删除模块,则必须删除其所有依赖项或确保它们不在运行时使用。
这在您的示例中不起作用,因为 javaee.api
依赖于 javax.mail.api
,而 org.wildfly.extension.batch
(和大多数其他模块)依赖于 javaee.api
。
为了服务瘦身,我尝试去掉了javax.xml下的mail模块。
在 standalone-full.xml 中删除对该模块的所有引用并尝试 运行 Wildfly 时,我收到以下 异常 :
13:09:36,301 ERROR [org.jboss.as.controller] (Controller Boot Thread) JBAS014601: Error booting the container: org.jboss.modules.ModuleLoadError: javax.mail.api:main at org.jboss.modules.ModuleLoadException.toError(ModuleLoadException.java:78) [jboss-modules.jar:1.3.3.Final] at org.jboss.modules.Module.getPathsUnchecked(Module.java:1392) [jboss-modules.jar:1.3.3.Final] at org.jboss.modules.Module.loadModuleClass(Module.java:563) [jboss-modules.jar:1.3.3.Final] at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:205) [jboss-modules.jar:1.3.3.Final] at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:459) [jboss-modules.jar:1.3.3.Final] at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:408) [jboss-modules.jar:1.3.3.Final] at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:389) [jboss-modules.jar:1.3.3.Final] at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:134) [jboss-modules.jar:1.3.3.Final] at org.wildfly.extension.batch.BatchSubsystemDefinition.(BatchSubsystemDefinition.java:86) at org.wildfly.extension.batch.BatchSubsystemParser.readElement(BatchSubsystemParser.java:59) at org.wildfly.extension.batch.BatchSubsystemParser.readElement(BatchSubsystemParser.java:47) at org.jboss.staxmapper.XMLMapperImpl.processNested(XMLMapperImpl.java:110) [staxmapper-1.1.0.Final.jar:1.1.0.Final] at org.jboss.staxmapper.XMLExtendedStreamReaderImpl.handleAny(XMLExtendedStreamReaderImpl.java:69) [staxmapper-1.1.0.Final.jar:1.1.0.Final] at org.jboss.as.server.parsing.StandaloneXml.parseServerProfile(StandaloneXml.java:1131) [wildfly-server-8.2.1.Final.jar:8.2.1.Final] at org.jboss.as.server.parsing.StandaloneXml.readServerElement_1_4(StandaloneXml.java:458) [wildfly-server-8.2.1.Final.jar:8.2.1.Final] at org.jboss.as.server.parsing.StandaloneXml.readElement(StandaloneXml.java:145) [wildfly-server-8.2.1.Final.jar:8.2.1.Final] at org.jboss.as.server.parsing.StandaloneXml.readElement(StandaloneXml.java:107) [wildfly-server-8.2.1.Final.jar:8.2.1.Final] at org.jboss.staxmapper.XMLMapperImpl.processNested(XMLMapperImpl.java:110) [staxmapper-1.1.0.Final.jar:1.1.0.Final] at org.jboss.staxmapper.XMLMapperImpl.parseDocument(XMLMapperImpl.java:69) [staxmapper-1.1.0.Final.jar:1.1.0.Final] at org.jboss.as.controller.persistence.XmlConfigurationPersister.load(XmlConfigurationPersister.java:104) [wildfly-controller-8.2.1.Final.jar:8.2.1.Final] at org.jboss.as.server.ServerService.boot(ServerService.java:331) [wildfly-server-8.2.1.Final.jar:8.2.1.Final] at org.jboss.as.controller.AbstractControllerService.run(AbstractControllerService.java:259) [wildfly-controller-8.2.1.Final.jar:8.2.1.Final] at java.lang.Thread.run(Unknown Source) [rt.jar:1.8.0_45]
13:09:36,321 INFO [org.jboss.as] (MSC service thread 1-8) JBAS015950: WildFly 8.2.1.Final "Tweek" stopped in 20ms Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
谁能告诉我我做错了什么?
是否还有其他地方需要删除模块依赖项?如果有,它位于哪个文件中?
您混淆了模块和子系统。
要减少运行时服务的数量,您可以从 standalone.xml
中删除扩展和相应的子系统定义。
如果从安装中删除模块,则必须删除其所有依赖项或确保它们不在运行时使用。
这在您的示例中不起作用,因为 javaee.api
依赖于 javax.mail.api
,而 org.wildfly.extension.batch
(和大多数其他模块)依赖于 javaee.api
。