2

由于我们当前某些应用程序的模块化特性,我们需要了解如何设置Maven以生成相同构件(在我们的情况下为WAR文件)的多重配置,两者的组合部署级别(dev,测试,生产)和本地化(gb,fr,es等)?我们正在寻找类似:如何使用Maven构建工件的多个配置(例如WAR等)?

artifact-gb-dev.war 
OR 
artifact-fr-test.war (etc., etc.) 

我们已经意识到的Maven的“创建个人资料”,这似乎适合部署环境标准,以及“Maven的组装插件 ',这可能会解决国家/国际化问题但是是否可以将两者结合起来(即将法语资源文件集成到生产级构建中)?

我们目前的目录结构的一个例子可能是:

..\gb 
    \dev 
    \test 
    \production 
..\fr 
    \dev 
    \test 
    \production 
..\es 
    \dev 
    \test 
    \production 

其中构建可能需要1(一)法国开发版本(FR的/ dev)或所有生产排放(GB-FR-ES-例如,etc/prod)。

由于预配置的Maven原型及其依赖管理提供的快速启动,我们是Maven的新手,并决定试用它。到现在为止,我们已经将Ant用于我们的构建。

感谢

理查德

+0

它发生,我认为我们*力量*将能够通过采用变量绑定到特定的个人资料,以改变Maven的组装插件目录的分辨率,通过引入部署等级进入配置说/资源的目录路径(例如/ src/main/config/lang/$ {profile.level}/...)。汇编插件然后将通过多次执行来处理各种本地化需求... – 2010-09-13 10:35:58

回答

2

看一看行家战争覆盖机制。它基本上允许你有一个通用的pom,并在其上面放置覆盖层(例如每个国家)来构建任何数量的战争。

我以前使用过这个功能来为多个国家创建一个网站(平台),每个国家的差异很小。

参见:http://maven.apache.org/plugins/maven-war-plugin/examples/war-overlay.html

+0

Albert,这是否需要您为每个国家/依赖项维护一个单独的Maven项目/ pom,还是在一个项目内适用的叠加(即通过定义新的目录等)? – 2010-09-13 13:26:59

+0

这确实需要你为每个国家设置一个独立的模块。但是,您只能覆盖与父项不同的内容,因此它们可以很小。我想这实际上取决于你的用例,这对你有用。 – Albert 2010-09-14 19:18:40

+0

艾伯特,我会给它一个去,谢谢;-) – 2010-09-15 13:02:08

相关问题