如何解决JBOSS AS7上的hook部署错误:无法处理部署的阶段INSTALL

时间:2012-07-17 14:27:49

标签: deployment jboss liferay jboss7.x liferay-6

当我尝试部署TagsNavigation-hook.war时,我收到以下错误(完整堆栈跟踪):

14:04:37,562 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-3) Starting deployment of "TagsNavigation-hook.war"
14:04:37,589 INFO  [org.jboss.as.jpa] (MSC service thread 1-1) added javax.persistence.api dependency to TagsNavigation-hook.war
14:04:37,596 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-4) MSC00001: Failed to start service jboss.deployment.unit."TagsNavigation-hook.war".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.unit."TagsNavigation-hook.war".INSTALL: Failed to process phase INSTALL of deployment "TagsNavigation-hook.war"
        at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:121) [jboss-as-server-7.0.2.Final.jar:7.0.2.Final]
        at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1824) [jboss-msc-1.0.1.GA.jar:1.0.1.GA]
        at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1759) [jboss-msc-1.0.1.GA.jar:1.0.1.GA]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [:1.7.0_04]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [:1.7.0_04]
        at java.lang.Thread.run(Unknown Source) [:1.7.0_04]
Caused by: java.lang.RuntimeException: Failed to load class com.liferay.taglib.portlet.NamespaceTag
        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) [jboss-as-server-7.0.2.Final.jar:7.0.2.Final]
        ... 5 more
Caused by: java.lang.ClassNotFoundException: com.liferay.taglib.portlet.NamespaceTag from [Module "deployment.TagsNavigation-hook.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_04]
        at java.lang.Class.forName(Unknown Source) [:1.7.0_04]
        at org.jboss.as.ee.component.deployers.EEClassConfigurationProcessor$1.compute(EEClassConfigurationProcessor.java:139)
        ... 11 more

之前有效,但是在我取消部署之后直接删除位置TagsNavigation-hook.war上的\liferay-portal-6.1.10-ee-ga1\jboss-7.0.2\standalone\deployments,在我通过liferay Control Panel --> Update Manager取消部署的另一台Jboss服务器上取消部署后,该工作无法正常工作

我尝试了以下内容:

  1. 将文件TagsNavigation-hook.war.failed重命名为TagsNavigation-hook.war.dodeploy,但仍然是相同的错误。
  2. 停止服务器,然后将其更改为TagsNavigation-hook.war.dodeploy,然后重新启动服务器,但仍然是同样的事情。
  3. 完全删除TagsNavigation-hook.warTagsNavigation-hook.war.failed文件,然后进行部署。我尝试将其作为热部署以及停止服务器 - >部署 - >启动服务器。
  4. 其他插件部署(主题,钩子和portlet)工作正常。这个钩子在Tomcat-7上运行也很好!

    环境: Liferay 6.1.10 EE与Linux上的JBOSS 7.0.2捆绑

1 个答案:

答案 0 :(得分:0)

现在它正在运作。

我刚刚在portal-dependency-jars=util-taglib.jar内添加了此属性:liferay-plugin-package.properties,然后进行了部署。

这感觉很奇怪,因为在没有定义属性的情况下,钩子在tomcat上运行得非常好,只有在Jboss上它才会出现这个错误,而且只有在我取消部署之后才会出现这个错误。