2013-10-24 39 views
0

我有一個Maven項目,我打包到EAR文件並在/ lib文件夾中包含所有依賴關係。但是,在部署EAR文件時,我在jboss中獲得了2個以下的錯誤。Maven-將耳部署到JBoss 6.x時出錯 - ClassFormatError

1)java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/jms/JMSException 

對於上述錯誤,我得知我需要刪除/ lib文件夾內的j2ee相關的jar文件。

2)java.lang.ClassCastException: com.xx.sms.ejb.ws.xxx.CoordinatorServiceBean cannot be cast to javax.servlet.Servlet 

而這個錯誤我相信我應該從/ lib文件夾中刪除javax.servlet相關的jar文件。因爲這可能已經由jboss servletContainer提供,你應該從你的/ lib文件夾中排除。 我是新來的maven世界,不知何故,我設法創建一個EAR。

讓我知道如何在包裝EAR期間排除j2ee相關和servlet相關的jar文件。 下面是我的pom.xml

<dependencies> 
     <dependency> 
      <groupId>com.xxx.sms</groupId> 
      <artifactId>CoordinatorBeans</artifactId> 
      <version>1.0-SNAPSHOT</version>    
     </dependency> 
     <dependency> 
      <groupId>com.xxx</groupId> 
      <artifactId>CoordinatorWeb</artifactId> 
      <version>1.0-SNAPSHOT</version> 
      <type>war</type> 
     </dependency> 
    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <artifactId>maven-ear-plugin</artifactId> 
       <configuration> 
        <defaultLibBundleDir>lib</defaultLibBundleDir> 
        <earSourceDirectory>${basedir}</earSourceDirectory> 
        <earSourceIncludes>META-INF/*</earSourceIncludes> 
        <archive> 
         <manifest> 
          <addClasspath>true</addClasspath> 
         </manifest> 
        </archive> 
        <generateApplicationXml>false</generateApplicationXml> 
        <applicationXML>${basedir}/META-INF/application.xml</applicationXML> 
        <modules> 
         <jarModule> 
          <groupId>com.xxx.sms</groupId> 
          <artifactId>CoordinatorBeans</artifactId> 
          <bundleDir>/</bundleDir> 
          <bundleFileName>CoordinatorBeans.jar</bundleFileName> 
         </jarModule> 
         <webModule> 
          <groupId>com.xxx</groupId> 
          <artifactId>CoordinatorWeb</artifactId> 
          <bundleDir>/</bundleDir> 
          <bundleFileName>CoordinatorWeb.war</bundleFileName> 
         </webModule> 
        </modules> 
       </configuration> 
      </plugin> 
     </plugins> 
     <finalName>CoordinatorApp</finalName> 
    </build> 

回答

0

添加排除下面依賴它的工作之後。

<dependency> 
    <groupId>com.sun.xml.ws</groupId> 
    <artifactId>jaxws-rt</artifactId> 
    <version>2.2</version> 
    <exclusions> 
     <exclusion> 
     <groupId>*</groupId> 
     <artifactId>*</artifactId> 
     </exclusion> 
    </exclusions> 
</dependency>