您可以使用 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>
如果prod、qa和dev是属性文件,那么你可以把它当作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 内容、配置等。