如何使用 Maven 在 EAR 中添加 WAR

发布于 2024-10-19 15:55:54 字数 199 浏览 0 评论 0原文

我有一个带有 EAR 的应用程序,我需要使用我自己的打包为 WAR 的代码来扩展该应用程序。有没有一个 Maven 插件可以帮助我将 WAR 放入 EAR 中?

手动过程是将WAR放入EAR中并将模块添加到application.xml中。我想自动化它。

编辑:小澄清 - WAR 项目正在使用 maven,但对于 EAR,我只有二进制文件,仅此而已。

I have EAR with an application and I need to extend this app with my own code that is packaged as a WAR. Is there a maven plugin that can help me with putting the WAR inside the EAR?

The manual procedure is to put WAR inside EAR and add module to application.xml. I would like to automate that.

EDIT: small clarification - the WAR project is using maven but for EAR I have only the binary file nothing more.

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

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

发布评论

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

评论(2

塔塔猫 2024-10-26 15:55:54

我将创建一个具有 ear 的新模块。

在此ear模块的依赖项中,包含您的war模块:

<dependency>
    <groupId>com.your.group.id</groupId>
    <artifactId>your-war-artifact</artifactId>
    <version>your-war-version</version>
    <type>war</type>
</dependency>

现在在此ear模块的构建插件中,包含maven-ear-plugin,例如:

<plugin>
    <artifactId>maven-ear-plugin</artifactId>
    <version>2.3.2</version>
    <configuration>
        <finalName>MyEarFile</finalName>
        <version>5</version>
        <generatedDescriptorLocation>${basedir}/src/main/application/META-INF</generatedDescriptorLocation>
        <modules>
            <webModule>
                <groupId>com.your.group.id</groupId>
                <artifactId>your-war-artifact</artifactId>
                <uri>YouWarFile.war</uri>
                <bundleFileName>YouWarFile.war</bundleFileName>
                <contextRoot>/appname</contextRoot>
            </webModule>
        </modules>
    </configuration>
</plugin>

您可以更改根据需要 webModule

现在创建一个父模块(使用 pom)并向其添加 war 模块和ear 模块。确保正确设置 war 和 Ear 模块的

当您为这个新父级运行mvn package时,war模块将构建一个war文件,并且ear模块将构建一个ear文件(包含war)。

I'd create a new module that has <packaging>ear</packaging>.

In the dependencies for this ear module, include your war module:

<dependency>
    <groupId>com.your.group.id</groupId>
    <artifactId>your-war-artifact</artifactId>
    <version>your-war-version</version>
    <type>war</type>
</dependency>

Now in the build plugins for this ear module, include the maven-ear-plugin like, e.g.:

<plugin>
    <artifactId>maven-ear-plugin</artifactId>
    <version>2.3.2</version>
    <configuration>
        <finalName>MyEarFile</finalName>
        <version>5</version>
        <generatedDescriptorLocation>${basedir}/src/main/application/META-INF</generatedDescriptorLocation>
        <modules>
            <webModule>
                <groupId>com.your.group.id</groupId>
                <artifactId>your-war-artifact</artifactId>
                <uri>YouWarFile.war</uri>
                <bundleFileName>YouWarFile.war</bundleFileName>
                <contextRoot>/appname</contextRoot>
            </webModule>
        </modules>
    </configuration>
</plugin>

You can change the specific configuration values for the webModule as required.

Now create a parent module (with <packaging>pom</packaging>) and add the war module and the ear module to it. Make sure you set the <parent> of the war and ear modules corrently.

When you run mvn package for this new parent, a war file will be built by the war module and an ear file (containing the war) will be built by the ear module.

情栀口红 2024-10-26 15:55:54

添加 WAR 作为依赖项并使用 maven Ear 插件。然后使用 ear:generate-application-xml 目标,最后是 ear:ear 目标。

Add WAR as dependency and use maven ear plugin. Then use ear:generate-application-xml goal and finally ear:ear goal.

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