我用maven构建的ear没有生成它的APP-INF/lib

发布于 2024-09-12 10:40:44 字数 1761 浏览 10 评论 0原文

正如我在标题中所说,当我构建ear时,工件(wars和ejbs)被复制到ear内,但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 和清单文件。

如果您对此有任何想法,请帮助我......

As I said in title when i build ear the artifacts (wars and ejbs) are copied inside ear but the APP-INF/lib is missing, and i don't know what could be the reason.

This is a part of 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>

Also i should say that in /contentEar folder there are only application.xml and manifest files.

Please if you have an idea about this, help me...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

他夏了夏天 2024-09-19 10:40:44

Maven 应该在 APP-INF/lib 中放入什么?预期结果是什么?从文档中:

高级配置

...

请注意第三方库
(即 JarModule)不包含在
生成的 application.xml (仅
ejb-client 应该包含在
java 条目)。但是,jar依赖
可以包含在生成的
application.xml 通过指定
includeInApplicationXml 标志。

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

但我没有看到任何 jarModule 在您的配置中。您是否可能将一些 JAR 库声明为依赖项?请澄清。

以下帖子也可能有帮助:

And what should Maven put in APP-INF/lib? What is the expected result? From the documentation:

Advanced Configuration

...

Please note that third party libraries
(i.e. JarModule) are not included in
the generated application.xml (only
ejb-client should be included in a
java entry). However, a jar dependency
could be included in the generated
application.xml by specifying the
includeInApplicationXml flag.

It is also possible to specify a
default bundle directory for all third
party libraries by specifying the
defaultLibBundleDir parameter
.

But I don't see any jarModule in your configuration. Did you maybe declare some JAR libraries as dependencies? Please clarify.

The following post might also help:

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文