【发布时间】:2017-06-14 13:46:35
【问题描述】:
我正在尝试为使用 Spring Security 的 grails 应用程序实现模块。由于 Spring Security 和 Grails 有大量的依赖关系,war 大小变得超过 80MB。为了避免这种情况,我试图从模块中访问这些依赖项。
但是,尝试在 jboss 7.1.1.Final 中部署 grails WAR 时出现以下错误。
ERROR [org.jboss.msc.service.fail] (MSC service thread 1-4) MSC00001: Failed to start service jboss.module.service."deployment.IFP.war".main: org.jboss.msc.service.StartException in service jboss.module.service."deployment.IFP.war".main: Failed to load module: deployment.IFP.war:main
at org.jboss.as.server.moduleservice.ModuleLoadService.start(ModuleLoadService.java:91) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.7.0]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.7.0]
at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0]
Caused by: org.jboss.modules.ModuleNotFoundException: Module org.springframework:main is not found in local module loader @1f88953 (roots: C:\Jboss\jboss-as-7.1.1.Final\modules)
at org.jboss.modules.LocalModuleLoader.findModule(LocalModuleLoader.java:126)
at org.jboss.modules.ModuleLoader.loadModuleLocal(ModuleLoader.java:275)
at org.jboss.modules.ModuleLoader.preloadModule(ModuleLoader.java:222)
at org.jboss.modules.LocalModuleLoader.preloadModule(LocalModuleLoader.java:94)
at org.jboss.modules.Module.addPaths(Module.java:841)
at org.jboss.modules.Module.link(Module.java:1181)
at org.jboss.modules.Module.relinkIfNecessary(Module.java:1207)
at org.jboss.modules.ModuleLoader.loadModule(ModuleLoader.java:208)
at org.jboss.as.server.moduleservice.ModuleLoadService.start(ModuleLoadService.java:70) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
jboss-deployment-structure.xml
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0">
<deployment>
<dependencies>
<module name="com.sits.grails">
<imports>
<include path="META-INF**"/>
<include path="org**"/>
</imports>
</module>
</dependencies>
</deployment>
</jboss-deployment-structure>
模块.xml
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="com.sits.grails">
<properties>
<property name="jboss.api" value="private"/>
</properties>
<resources>
<resource-root path="activation-1.1.jar"/>
<resource-root path="antlr-2.7.7.jar"/>
.........
.........
<resource-root path="jboss-logging-3.1.0.GA.jar"/>
<resource-root path="jboss-logging-annotations-1.2.0.Beta1.jar"/>
<resource-root path="jboss-transaction-api_1.2_spec-1.0.0.Final.jar"/>
<resource-root path="jcl-over-slf4j-1.7.5.jar"/>
<resource-root path="jsr166y-1.7.0.jar"/>
<resource-root path="jul-to-slf4j-1.7.5.jar"/>
<resource-root path="liquibase-core-2.0.5.jar"/>
<resource-root path="log4j-1.2.17.jar"/>
<resource-root path="mysql-connector-java-5.1.13.jar"/>
<resource-root path="netty-all-4.0.15.Final.jar"/>
<resource-root path="rhino-1.7R4.jar"/>
<resource-root path="serializer-2.7.1.jar"/>
<resource-root path="sitemesh-2.4.jar"/>
<resource-root path="slf4j-api-1.7.5.jar"/>
<resource-root path="spring-aop-4.0.7.RELEASE.jar"/>
<resource-root path="spring-aspects-4.0.7.RELEASE.jar"/>
<resource-root path="spring-beans-4.0.7.RELEASE.jar"/>
<resource-root path="spring-context-4.0.7.RELEASE.jar"/>
<resource-root path="spring-context-support-4.0.7.RELEASE.jar"/>
<resource-root path="spring-core-4.0.7.RELEASE.jar"/>
<resource-root path="spring-expression-4.0.7.RELEASE.jar"/>
<resource-root path="spring-jdbc-4.0.7.RELEASE.jar"/>
<resource-root path="spring-orm-4.0.7.RELEASE.jar"/>
<resource-root path="spring-security-core-3.2.7.RELEASE.jar"/>
<resource-root path="spring-security-web-3.2.7.RELEASE.jar"/>
<resource-root path="spring-tx-4.0.7.RELEASE.jar"/>
<resource-root path="spring-web-4.0.7.RELEASE.jar"/>
<resource-root path="spring-webmvc-4.0.7.RELEASE.jar"/>
<resource-root path="tomcat-embed-logging-log4j-7.0.50.jar"/>
<resource-root path="tomcat-jdbc-7.0.50.jar"/>
<resource-root path="tomcat-juli-7.0.50.jar"/>
<resource-root path="validation-api-1.1.0.Final.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="sun.jdk"/>
<module name="org.javassist" optional="true"/>
<module name="javax.servlet.api"/>
<module name="org.apache.commons.logging"/>
</dependencies>
</module>
在我的 MANIFEST.MF 文件中声明了依赖项
Dependencies: org.apache.log4j,com.sits.grails,org.springframework
我不明白是什么导致了这个问题。如果有人可以帮助我识别将是一个很大的帮助。谢谢。
ApplicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="grailsApplication" class="org.codehaus.groovy.grails.commons.GrailsApplicationFactoryBean">
<description>Grails application factory bean</description>
<property name="grailsDescriptor" value="/WEB-INF/grails.xml" />
</bean>
<bean id="pluginManager" class="org.codehaus.groovy.grails.plugins.GrailsPluginManagerFactoryBean">
<description>A bean that manages Grails plugins</description>
<property name="grailsDescriptor" value="/WEB-INF/grails.xml" />
<property name="application" ref="grailsApplication" />
</bean>
<bean id="grailsConfigurator" class="org.codehaus.groovy.grails.commons.spring.GrailsRuntimeConfigurator">
<constructor-arg>
<ref bean="grailsApplication" />
</constructor-arg>
<property name="pluginManager" ref="pluginManager" />
</bean>
<bean id="characterEncodingFilter" class="org.springframework.web.filter.CharacterEncodingFilter">
<property name="encoding">
<value>utf-8</value>
</property>
</bean>
<bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean" />
</beans>
【问题讨论】:
标签: spring jboss7.x grails-2.0