2010-10-17 47 views
1

有人可以給我提供一個pom.xml的工作示例,它用於在jboss 5.1.0上構建和部署ear archive。
在我的應用程序中,我有兩個模塊 - web(.war歸檔)和java(.jar)。我試着用下面的pom.xmlSeam framework,maven-ear-plugin和Jboss as 5.1.0

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
<modelVersion>4.0.0</modelVersion> 
<parent> 
    <artifactId>tp</artifactId> 
    <groupId>com.domain.project</groupId> 
    <version>0.1</version> 
</parent> 
<groupId>com.domain.project</groupId> 
<artifactId>build</artifactId> 
<version>0.1</version> 
<packaging>ear</packaging> 
<name>project</name> 

<repositories> 
    ... 
</repositories> 

<build> 

    <finalName>project</finalName> 
    <plugins> 
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>jboss-maven-plugin</artifactId> 
      <version>1.4.1</version> 
      <configuration> 
       <jbossHome>/opt/jboss-5.1.0.GA</jbossHome> 
       <hostName>localhost</hostName> 
       <serverName>default</serverName> 
       <port>8080</port> 
       <fileNames> 
        <fileName>${basedir}/target/${build.finalName}.ear</fileName> 
       </fileNames> 
      </configuration> 
     </plugin> 

     <plugin> 
      <artifactId>maven-ear-plugin</artifactId> 
      <version>2.4.2</version> 
      <configuration> 
       <generateApplicationXml>true</generateApplicationXml> 
       <jboss> 
        <modules> 
         <webModule>web.war</webModule> 
         <ejbModule>core.jar</ejbModule> 
        </modules> 
        <version>5</version> 
        <loader-repository>com.domain.project:loader=project</loader-repository> 
       </jboss> 
       <modules> 
        <webModule> 
         <groupId>com.domain.project</groupId> 
         <artifactId>web</artifactId> 
         <bundleDir>/</bundleDir> 
        </webModule> 
        <javaModule> 
         <groupId>com.domain.project</groupId> 
         <artifactId>core</artifactId> 
         <bundleFileName>core.jar</bundleFileName> 
        </javaModule> 

       </modules> 
      </configuration> 
     </plugin> 

    </plugins> 
</build> 

<dependencies> 
    <dependency> 
     <groupId>com.domain.project</groupId> 
     <artifactId>core</artifactId> 
     <version>0.1</version> 
    </dependency> 
    <dependency> 
     <groupId>com.domain.project</groupId> 
     <artifactId>web</artifactId> 
     <version>0.1</version> 
     <type>war</type> 
    </dependency> 
    <dependency> 
     <groupId>org.jboss.el</groupId> 
     <artifactId>jboss-el</artifactId> 
     <version>1.0_02.CR4</version> 
     <type>jar</type> 
    </dependency> 
    <dependency> 
     <groupId>org.jboss.seam</groupId> 
     <artifactId>jboss-seam</artifactId> 
     <version>2.2.0.GA</version> 
     <type>jar</type> 
    </dependency> 
    <dependency> 
     <groupId>org.jbpm</groupId> 
     <artifactId>jbpm-jpdl</artifactId> 
     <version>3.2.2</version> 
     <type>jar</type> 
    </dependency> 
</dependencies> 

但是我得到以下異常
org.jboss.deployers.spi.DeploymentException來完成祖國上述任務:無法處理元數據

似乎application.xml或jboss-app.xml沒有生成好...任何幫助將不勝感激。

回答

1

重現您的項目結構和問題似乎很難(或至少耗時)。出於這個原因,我的建議是使用Getting started with JBoss Seam and Maven in 10 seconds!中公佈的原型創建一個示例應用程序(具有按預期工作的構建)並模仿配置

來引導項目,運行以下命令:

 
$ mvn archetype:generate \ 
     -DarchetypeGroupId=de.akquinet.jbosscc \ 
     -DarchetypeArtifactId=jbosscc-seam-archetype \ 
     -DarchetypeVersion=1.2 \ 
     -DarchetypeCatalog=http://seam-archetype.sourceforge.net/jbosscc-seam-archetype/1.2/archetype-catalog.xml 
... 
Define value for property 'groupId': : com.domain.project 
Define value for property 'artifactId': : seam-demo 
Define value for property 'version': 1.0-SNAPSHOT: : 
Define value for property 'package': com.domain.project: : 
Define value for property 'seamVersion': : 2.2.0.GA 
Confirm properties configuration: 
groupId: com.domain.project 
artifactId: seam-demo 
version: 1.0-SNAPSHOT 
package: com.domain.project 
seamVersion: 2.2.0.GA 
Y: : 
... 
[INFO] BUILD SUCCESS 
... 

而且cdseam-demo目錄,運行mvn install並且兩個application.xml和該jboss-app.xml將耳朵模塊中產生。

然後,使用您提供的jboss-maven-plugin配置來將耳朵部署到一個已啓動的JBoss,爲我工作。

+0

Pascal Thivent謝謝..但問題是,我有一個項目結構已經實現手...我無法改變它...所以我不能使用該原型...謝謝無論如何 – Andrew 2010-10-17 19:16:24

+0

@安德魯如果你仔細閱讀我的答案,你會發現我建議**模仿**你配合原型獲得的耳配置(這與你的工作方式不同),而不是替代你現有的項目結構... – 2010-10-17 19:49:33

+0

哦....對不起Pascal ...謝謝...我給它一個嘗試... – Andrew 2010-10-18 07:53:31