我用maven构建的耳朵不会生成APP-INF / lib

时间:2010-08-03 11:23:08

标签: java java-ee maven-2 ear maven-ear-plugin

正如我在标题中说的那样,当我构建耳朵时,文物(战争和ejbs)被复制到耳内,但是APP-INF / lib丢失了,我不知道原因是什么。

这是pom.xml的一部分:

  
<plugin>
            <artifactId>maven-ear-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <earSourceDirectory>${basedir}/contentEar</earSourceDirectory>
                    <defaultLibBundleDir>APP-INF/lib</defaultLibBundleDir> 
                    <modules>
                        <webModule>
                            <groupId>my.webs</groupId>
                            <artifactId>web</artifactId>
                            <bundleFileName>web.war</bundleFileName>
                        </webModule>

                        <ejbModule>
                            <groupId>my.test.doc</groupId>
                            <artifactId>myEjb</artifactId>
                            <bundleFileName>myEjb.jar</bundleFileName>
                        </ejbModule>
                    </modules>
                </configuration>
                <executions>
                    <execution>
                        <id>build-ear</id>
                        <phase>package</phase>
                        <goals>
                            <goal>ear</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

另外我应该说/ contentEar文件夹中只有application.xml和manifest文件。

如果您对此有所了解,请帮助我......

1 个答案:

答案 0 :(得分:1)

Maven应该将APP-INF/lib放入什么?预期结果是什么?来自文档:

  

Advanced Configuration

     

...

     

请注意第三方图书馆   (即JarModule)不包括在内   生成的application.xml(仅限   ejb-client应该包括在一个   java条目)。但是,一个jar依赖   可以包含在生成的   application.xml通过指定   includeInApplicationXml旗帜。

     

也可以指定一个   所有第三个的默认捆绑目录   派对库通过指定   defaultLibBundleDir参数

但我在配置中看不到任何jarModule。您是否可以将某些JAR库声明为依赖项?请澄清。

以下帖子也可能有所帮助: