【问题标题】:How to create the EAR file based on the configuration files using maven?如何使用maven根据配置文件创建EAR文件?
【发布时间】:2023-04-09 23:53:02
【问题描述】:

您能否告诉我,如何使用 maven 构建工具根据环境配置创建 EAR 文件?

我在下面给出了我的项目文件夹结构。

我的项目应用程序 --- pom.xml 我的耳朵 -- 源代码 -- 配置 -- 产品 --qa ——开发 --pom.xml 我的网络 -- 源代码 -- 爪哇 - 主要的 --pom.xml

(MyEar 和 MyWeb 是模块)或 MyProjectApp 的子级。

我期待以下 EAR 文件。

MyProjectApp_PROD.ear - 仅包含生产配置信息

MyProjectApp_DEV.ear - 仅包含 DEV 配置信息。

问候
瓦桑特 D

【问题讨论】:

  • prodqadev 是包含一些内容的属性文件或文件夹吗?在你的MyEar,你用的是maven ear插件吗?
  • 是的,我正在使用 maven ear 插件、prod 和 qa 文件夹,它包含 .properties 文件。

标签: maven


【解决方案1】:

您可以使用 Maven 配置文件来分隔环境信息。所以,你可以把pom.xml这样的属性放进去:

<profiles>
    <profile>
        <id>dev</id>
        <properties>
            <environment>dev</environment>
            <property-one>value-one</property-one>
            <property-two>value-two</property-two>
        </properties>
    </profile>
    <profile>
        <id>prod</id>
        <properties>
            <environment>prod</environment>
            <property-one>value-one</property-one>
            <property-two>value-two</property-two>
        </properties>
    </profile>
</profiles>

如果prodqadev是属性文件,那么你可以把它当作filters来获取环境信息来生成你application.xml

<build>
    <filter>/path/to/${environment}.properties</filter>
</build>

要生成具有所需名称的 EAR 文件,您可以在构建中设置最终名称,如下所示:

<build>
    <finalName>MyProjectApp_${environment}</finalName>
</build>

你也可以使用maven-ear-plugin,像这样:

<plugin>
    <artifactId>maven-ear-plugin</artifactId>
    <version>2.10</version>
    <configuration>
        <version>6</version>
        <defaultLibBundleDir>lib</defaultLibBundleDir>
        <outputDirectory>${project.build.directory}/dist</outputDirectory>
        <modules>
            <webModule>
                <groupId>your.group.id</groupId>
                <artifactId>MyWeb</artifactId>
                <moduleId>MyWeb</moduleId>
                <contextRoot>/portal</contextRoot>
            </webModule>
        </modules>
        <fileNameMapping>no-version</fileNameMapping>
    </configuration>
</plugin>

然后,要生成 prod 包,请执行以下操作:mvn clean package -Pprod

dev 包,做:mvn clean package -Pdev

您也可以默认启用配置文件。

如果您需要在同一构建执行中生成两者,请查看maven-assembly-plugin

如果这对您不起作用,请提供更多信息,例如 pom.xml 内容、配置等。

【讨论】:

  • 感谢布鲁诺,这非常有帮助,节省了我的时间。
猜你喜欢
  • 1970-01-01
  • 2019-09-19
  • 2011-04-26
  • 1970-01-01
  • 2013-07-07
  • 2016-03-05
  • 1970-01-01
  • 2011-02-08
  • 1970-01-01
相关资源
最近更新 更多