2012-11-26 71 views
0

我有以下情況:錯誤上部署jar文件的jboss-AS-7.1.1

我有三個項目的Java應用程序:

  • Java項目
  • EJB模塊
  • Web Project

使用net beans,我構建了三個項目並將它們上載到服務器上。 Java項目中成功部署,但它依賴於Java項目中的EJB模塊提供了以下錯誤:

12:35:00,811 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC00001: Failed to start service jboss.deployment.unit."MyApp.jar".POST_MODULE: org.jboss.msc.service$ 
     at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119) [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.6.0_20] 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.6.0_20] 
     at java.lang.Thread.run(Thread.java:636) [rt.jar:1.6.0_20] 


Caused by: java.lang.RuntimeException: Error getting reflective information for class gss.myapp.sessions.CardValidatorBean with ClassLoader ModuleClassLoader for Module "deplo$ 
     at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:70) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final] 
     at org.jboss.as.ee.metadata.MethodAnnotationAggregator.runtimeAnnotationInformation(MethodAnnotationAggregator.java:58) 
     at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.handleAnnotations(InterceptorAnnotationProcessor.java:85) 
     at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.processComponentConfig(InterceptorAnnotationProcessor.java:70) 
     at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.deploy(InterceptorAnnotationProcessor.java:55) 
     at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final] 
     ... 5 more 

Caused by: java.lang.NoClassDefFoundError: gss/commons/exceptions/BusinessEntityFindException 
     at java.lang.Class.getDeclaredFields0(Native Method) [rt.jar:1.6.0_20] 
     at java.lang.Class.privateGetDeclaredFields(Class.java:2308) [rt.jar:1.6.0_20] 
     at java.lang.Class.getDeclaredFields(Class.java:1760) [rt.jar:1.6.0_20] 
     at org.jboss.as.server.deployment.reflect.ClassReflectionIndex.<init>(ClassReflectionIndex.java:57) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final] 
     at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:66) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final] 
     ... 10 more 

Caused by: java.lang.ClassNotFoundException: gss.commons.exceptions.BusinessEntityFindException from [Module "deployment.MyApp.jar:main" from Service Module Loader] 
     at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190) 
     at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468) 
     at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456) 
     at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:423) 
     at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) 
     at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120) 
     ... 15 more 

回答

0

異常明確指出它找不到類 gss.commons.exceptions.BusinessEntityFindException

你的EJB JAR文件MANIFEST.MF應該包含它需要 如

Manifest-Version: 1.0 
Ant-Version: Apache Ant 1.8.1 
Created-By: 1.6.0_25-b06 (Sun Microsystems Inc.) 
Class-Path: your-java-project.jar 

類路徑,並確保您包括您的your-java-project.jar在你的服務器類路徑中。

+0

感謝,但是我不是非常有經驗與JBoss,可以請你幫我把在Ant-Version和Created- –

+0

中適合我的情況的值我試圖只用這個: Manifest-Version:1.0 類路徑:myproject.jar 並得到以下錯誤:java.lang.IllegalArgumentException:鑑於父母不是此虛擬文件的祖先 –

+0

@Ali Issa檢查此鏈接http://stackoverflow.com/questions/10152546/ jboss-as-7-how-to-make-independant -ejb-dependent-dependent-war –

0

您需要添加gss.commons.exceptions.BusinessEntityFindException類到JBoss:

我會打電話給YOUR_JAR.jar到包含GSS /公/異常罐子/ BusinessEntityFindException

1:添加一個模塊到JBoss

  • 停止您的JBoss服務器
  • 您的目錄查找YOUR_JAR.jar
  • 就JBoss的下一個目錄:JBOSS_HOME /模塊/組織/ GSS /主
  • 將YOUR_JAR.jar這個目錄
  • 上做一個文件名爲module.xml並添加:

<

<?xml version="1.0" encoding="UTF-8"?> 
<module xmlns="urn:jboss:module:1.1" name="org.gss"> 
<resources> 
<resource-root path="YOUR_JAR.jar"/> 
</resources> 
</module> 

*

2:從項目中打電話給你的新模塊:

  • 在您的web項目上創建一個文件WEB-INF/jboss-deployment-structure。XML
  • 地址:

<

<?xml version="1.0" encoding="UTF-8"?> 
<jboss-deployment-structure> 
    <deployment> 
     <dependencies> 
     <module name="org.gss" meta-inf="export"> 
      <imports> 
       <include path="META-INF" /> 
      </imports> 
     </module> 
     </dependencies> 
    </deployment> 
</jboss-deployment-structure> 
  • 啓動JBoss服務器