maven ear plugin没有拿起application.xml

时间:2011-10-07 14:33:56

标签: maven-2 pom.xml seam2 maven-ear-plugin

我使用的是jbosscc-seam-archtype 1.2,我将application.xml放在/src/main/application/META-INF/下的EAR项目中,但是maven-ear-plugin并没有把它拿起来。有什么建议吗?

以下是我的maven EAR插件的片段:

<plugins>
    <plugin>
            <artifactId>maven-ear-plugin</artifactId>
            <configuration>
                <version>5</version>    
                <modules>
                    <webModule>
                        <groupId>com.***</groupId>
                        <artifactId>***-war</artifactId>
                        <contextRoot>***</contextRoot>
                        <unpack>${exploded.war.file}</unpack>
                    </webModule>

                    <jarModule>
                        <groupId>com.***</groupId>
                        <artifactId>***-datamodel</artifactId>
                        <includeInApplicationXml>true</includeInApplicationXml>
                    </jarModule>

                    <ejbModule>
                        <groupId>com.***</groupId>
                        <artifactId>***-bootstrap</artifactId>
                        <excluded>${exclude.bootstrap}</excluded>
                    </ejbModule>

                    <ejbModule>
                        <groupId>org.jboss.seam</groupId>
                        <artifactId>jboss-seam</artifactId>
                    </ejbModule>

                    <jarModule>
                        <groupId>org.jboss.el</groupId>
                        <artifactId>jboss-el</artifactId>
                        <bundleDir>lib</bundleDir>
                    </jarModule>

                </modules>

                <jboss>
                    <version>${version.jboss.app}</version>
                    <loader-repository>***:app=ejb3</loader-repository>
                </jboss>
            </configuration>
        </plugin>

我做错了什么?

2 个答案:

答案 0 :(得分:6)

默认情况下,即使您将application.xml包含在您的maven ear项目的src/main/application/META-INF/application.xml中,也不会选择<configuration>,因为它将由{{1}中指定的配置自动生成} maven-ear-plugin。如果您希望包含您的内容,则需要将generateApplicationXml更改为false(默认为true)。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-ear-plugin</artifactId>
    <version>2.4.2</version>
    <configuration>
        <version>6</version>
        <displayName>MyEAR</displayName>
        <defaultLibBundleDir>lib</defaultLibBundleDir>
        <modules>
            <webModule>
                <groupId>com.test</groupId>
                <artifactId>my-web</artifactId>
                <bundleFileName>my-web.war</bundleFileName>
                <contextRoot>/MyWeb</contextRoot>
            </webModule>
        </modules>
        <generateApplicationXml>false</generateApplicationXml>            
    </configuration>
  </plugin>

答案 1 :(得分:4)

您可以在<applicationXml>元素中使用</applicationXml> / your / location / <configuration>来指定自定义application.xml文件的位置。

请检查您是否确实需要自定义application.xml文件,否则请使用<generateApplicationXml>true</generateApplicationXml>