谢谢你的时间
我们正在使用 liferay 6-jboss 7 的版本,这是在尝试避免在每个 spring mvc3 portlet war 中包含包含 spring jar 的 lib 文件夹时出现的错误异常。因为同一组 spring 依赖 jar 被添加到所有 portlet 并一直在部署,它实际上增加了负载。为了摆脱这个,在模块中创建了一个文件夹 [结构类似于 jboss/modules/com/spring/main/--jar 文件--] 并添加了所有公共库。
这是module.xml
<module xmlns="urn:jboss:module:1.0" name="com.spring">
<resources>
<resource-root path="org.springframework.aop-3.1.1.RELEASE.jar"/>
<resource-root path="org.springframework.asm-3.1.1.RELEASE.jar"/>
<resource-root path="org.springframework.aspects-3.1.1.RELEASE.jar"/>
<resource-root path="org.springframework.beans-3.1.1.RELEASE.jar"/>
<resource-root path="org.springframework.context-3.1.1.RELEASE.jar"/>
<resource-root path="org.springframework.context.support-3.1.1.RELEASE.jar"/>
<resource-root path="org.springframework.core-3.1.1.RELEASE.jar"/>
<resource-root path="org.springframework.expression-3.1.1.RELEASE.jar"/>
<resource-root path="org.springframework.instrument-3.1.1.RELEASE.jar"/>
<resource-root path="org.springframework.instrument.tomcat-3.1.1.RELEASE.jar"/>
<resource-root path="org.springframework.jdbc-3.1.1.RELEASE.jar"/>
<resource-root path="org.springframework.jms-3.1.1.RELEASE.jar"/>
<resource-root path="org.springframework.orm-3.1.1.RELEASE.jar"/>
<resource-root path="org.springframework.oxm-3.1.1.RELEASE.jar"/>
<resource-root path="org.springframework.test-3.1.1.RELEASE.jar"/>
<resource-root path="org.springframework.transaction-3.1.1.RELEASE.jar"/>
<resource-root path="org.springframework.web-3.1.1.RELEASE.jar"/>
<resource-root path="org.springframework.web.portlet-3.1.1.RELEASE.jar"/>
<resource-root path="org.springframework.web.servlet-3.1.1.RELEASE.jar"/>
<resource-root path="org.springframework.web.struts-3.1.1.RELEASE.jar"/>
<resource-root path="standard.jar"/>
<resource-root path="util-java.jar"/>
<resource-root path="util-taglib.jar"/>
<resource-root path="util-bridges.jar"/>
<resource-root path="commons-logging.jar"/>
<resource-root path="ext-oneprm-liferay-portal-ext-util-bridges.jar"/>
<resource-root path="ext-oneprm-liferay-portal-ext-util-java.jar"/>
<resource-root path="ext-oneprm-liferay-portal-ext-util-taglib.jar"/>
</resources>
</module>
和 portlet 中的 jboss-deployement-structure.xml
<?xml version="1.0"?>
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0">
<deployment>
<dependencies>
<module name="com.liferay.portal"></module>
<module name="org.jboss.modules"></module>
</dependencies>
</deployment>
</jboss-deployment-structure>
这是我们现在遇到的错误.. 我在 portlet 中是否还遗漏了任何要提及的内容?任何人都可以帮助我...提前谢谢!
20:38:41,812 INFO [org.jboss.as.server.controller] (DeploymentScanner-threads - 1) Deployment of "sample-spring-template-portlet.war" was rolled back with failure message {"Failed services" => {"jboss.module.service.\"deployment.sample-spring-template-portlet.war\".main" => "org.jboss.msc.service.StartException in service jboss.module.service.\"deployment.sample-spring-template-portlet.war\".main: Failed to load module: deployment.sample-spring-template-portlet.war:main"}}
20:38:42,140 INFO [org.jboss.as.server.deployment] (MSC service thread 1-4) Stopped deployment sample-spring-template-portlet.war in 323ms
20:38:42,140 ERROR [org.jboss.as.deployment] (DeploymentScanner-threads - 2) {"Composite operation failed and was rolled back. Steps that failed:" => {"Operation step-2" => {"Failed services" => {"jboss.module.service.\"deployment.sample-spring-template-portlet.war\".main" => "org.jboss.msc.service.StartException in service jboss.module.service.\"deployment.sample-spring-template-portlet.war\".main: Failed to load module: deployment.sample-spring-template-portlet.war:main"}}}}
20:51:35,192 INFO [stdout] (com.liferay.portal.kernel.deploy.auto.AutoDeployScanner) 20:51:35,192 INFO [AutoDeployDir:167] Processing sample-spring-template-portlet-6.1.0.1.war
20:51:35,192 INFO [stdout] (com.liferay.portal.kernel.deploy.auto.AutoDeployScanner) 20:51:35,192 INFO [PortletAutoDeployListener:71] Copying portlets for C:\apps\Liferay\JBOSS\Liferay-6.1.0\deploy\sample-spring-template-portlet-6.1.0.1.war
20:51:35,567 INFO [stdout] (com.liferay.portal.kernel.deploy.auto.AutoDeployScanner) Expanding: C:\apps\Liferay\JBOSS\Liferay-6.1.0\deploy\sample-spring-template-portlet-6.1.0.1.war into C:\DOCUME~1\SESA23~1\LOCALS~1\Temp\20120507205135567
20:51:36,302 INFO [stdout] (com.liferay.portal.kernel.deploy.auto.AutoDeployScanner) Copying 1 file to C:\DOCUME~1\SESA23~1\LOCALS~1\Temp\20120507205135567\WEB-INF
20:51:36,958 INFO [stdout] (com.liferay.portal.kernel.deploy.auto.AutoDeployScanner) Copying 1 file to C:\DOCUME~1\SESA23~1\LOCALS~1\Temp\20120507205135567\WEB-INF\classes
20:51:36,958 INFO [stdout] (com.liferay.portal.kernel.deploy.auto.AutoDeployScanner) Copying 1 file to C:\DOCUME~1\SESA23~1\LOCALS~1\Temp\20120507205135567\WEB-INF\classes
20:51:37,552 INFO [stdout] (com.liferay.portal.kernel.deploy.auto.AutoDeployScanner) Copying 1 file to C:\DOCUME~1\SESA23~1\LOCALS~1\Temp\20120507205135567\WEB-INF\jsp
20:51:38,223 INFO [stdout] (com.liferay.portal.kernel.deploy.auto.AutoDeployScanner) Copying 16 files to C:\apps\Liferay\JBOSS\Liferay-6.1.0\jboss-7.0.2\standalone\deployments\sample-spring-template-portlet.war
20:51:38,411 INFO [stdout] (com.liferay.portal.kernel.deploy.auto.AutoDeployScanner) Copying 1 file to C:\apps\Liferay\JBOSS\Liferay-6.1.0\jboss-7.0.2\standalone\deployments\sample-spring-template-portlet.war
20:51:38,427 INFO [stdout] (com.liferay.portal.kernel.deploy.auto.AutoDeployScanner) Deleting directory C:\DOCUME~1\SESA23~1\LOCALS~1\Temp\20120507205135567
20:51:38,489 INFO [stdout] (com.liferay.portal.kernel.deploy.auto.AutoDeployScanner) 20:51:38,489 INFO [PortletAutoDeployListener:81] Portlets for C:\apps\Liferay\JBOSS\Liferay-6.1.0\deploy\sample-spring-template-portlet-6.1.0.1.war copied successfully. Deployment will start in a few seconds.
20:51:38,630 INFO [org.jboss.as.server.deployment] (MSC service thread 1-3) Starting deployment of "sample-spring-template-portlet.war"
20:51:39,192 INFO [org.jboss.as.jpa] (MSC service thread 1-3) added javax.persistence.api dependency to sample-spring-template-portlet.war
20:51:39,677 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-4) MSC00001: Failed to start service jboss.deployment.unit."sample-spring-template-portlet.war".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.unit."sample-spring-template-portlet.war".INSTALL: Failed to process phase INSTALL of deployment "sample-spring-template-portlet.war"
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:121)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1824)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1759)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [:1.7.0_03]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [:1.7.0_03]
at java.lang.Thread.run(Thread.java:722) [:1.7.0_03]
Caused by: java.lang.RuntimeException: Failed to load class org.springframework.web.servlet.ViewRendererServlet
at org.jboss.as.ee.component.deployers.EEClassConfigurationProcessor$1.compute(EEClassConfigurationProcessor.java:141)
at org.jboss.as.ee.component.deployers.EEClassConfigurationProcessor$1.compute(EEClassConfigurationProcessor.java:122)
at org.jboss.as.ee.component.LazyValue.get(LazyValue.java:40)
at org.jboss.as.ee.component.EEApplicationDescription.getClassConfiguration(EEApplicationDescription.java:183)
at org.jboss.as.ee.component.ComponentDescription.createConfiguration(ComponentDescription.java:153)
at org.jboss.as.ee.component.deployers.EEModuleConfigurationProcessor.deploy(EEModuleConfigurationProcessor.java:70)
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:115)
... 5 more
Caused by: java.lang.ClassNotFoundException: org.springframework.web.servlet.ViewRendererServlet from [Module "deployment.sample-spring-template-portlet.war:main" from Service Module Loader]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:191)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:361)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:333)
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:310)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:103)
at java.lang.Class.forName0(Native Method) [:1.7.0_03]
at java.lang.Class.forName(Class.java:264) [:1.7.0_03]
at org.jboss.as.ee.component.deployers.EEClassConfigurationProcessor$1.compute(EEClassConfigurationProcessor.java:139)
... 11 more
20:51:39,958 INFO [org.jboss.as.server.controller] (DeploymentScanner-threads - 1) Deployment of "sample-spring-template-portlet.war" was rolled back with failure message {"Failed services" => {"jboss.deployment.unit.\"sample-spring-template-portlet.war\".INSTALL" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"sample-spring-template-portlet.war\".INSTALL: Failed to process phase INSTALL of deployment \"sample-spring-template-portlet.war\""},"Services with missing/unavailable dependencies" => ["jboss.naming.context.java.module.sample-spring-template-portlet.sample-spring-template-portlet.ValidatorFactory missing [ jboss.naming.context.java.module.sample-spring-template-portlet.sample-spring-template-portlet ]","jboss.naming.context.java.module.sample-spring-template-portlet.sample-spring-template-portlet.Validator missing [ jboss.naming.context.java.module.sample-spring-template-portlet.sample-spring-template-portlet ]"]}
20:51:40,349 INFO [org.jboss.as.server.deployment] (MSC service thread 1-3) Stopped deployment sample-spring-template-portlet.war in 398ms
20:51:40,364 ERROR [org.jboss.as.deployment] (DeploymentScanner-threads - 2) {"Composite operation failed and was rolled back. Steps that failed:" => {"Operation step-2" => {"Failed services" => {"jboss.deployment.unit.\"sample-spring-template-portlet.war\".INSTALL" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"sample-spring-template-portlet.war\".INSTALL: Failed to process phase INSTALL of deployment \"sample-spring-template-portlet.war\""},"Services with missing/unavailable dependencies" => ["jboss.naming.context.java.module.sample-spring-template-portlet.sample-spring-template-portlet.ValidatorFactory missing [ jboss.naming.context.java.module.sample-spring-template-portlet.sample-spring-template-portlet ]","jboss.naming.context.java.module.sample-spring-template-portlet.sample-spring-template-portlet.Validator missing [ jboss.naming.context.java.module.sample-spring-template-portlet.sample-spring-template-portlet ]"]}}}