0

プロジェクトのビルド サイクル中に、複数の WAR ファイルを生成したいと考えています。複数のdest-fileを追加する方法と、maven-war-plugin を使用したその他の構成を既に知っています。しかし、各WARの構成を書き込まずに、ビルドサイクル中に不確定な数の戦争を生成する方法があるかどうかを知りたい.

クライアントごとにビルドを生成したいのですが、プロジェクトには次のディレクトリ構造があります。

| pom.xml
+ src
  + main
    + clients
      + client1
      + client2
      + client3
      + ...
      + clientn

クライアント ディレクトリごとに WAR を生成する方法を知りたいです。Maven構成を作成したいだけで、新しいフォルダーを追加してn個のWARパッケージmvn packageを取得するだけです。

出来ますか?

4

1 に答える 1

0

Maven は単独では実行できないように思われるため、最終的には、 にある各フォルダーに対して Maven を呼び出すスクリプトを作成しましたsrc/main/clients

Unix の場合

#!/bin/bash
clear

###
# Check for Apache Maven home environment variable.
###
M2_HOME=`$M2_HOME`
if [ -z "$M2_HOME" ]; then
        echo "Error: M2_HOME variable not set. Please set Apache Maven home."
        exit
fi

###
# Build all client packages.
###
echo "Build start."
for f in $0/src/main/clients/*
        do echo Building: %f
        $M2_HOME/bin/mvn package -Dclient.id=`basename $f` -Dclient.path=$f -DskipTests
done;
echo "Build end."

Windows の場合

@ECHO off
SET M2_HOME=%M2_HOME%
CD %~p0
ECHO Build start.
FOR /r /d %%G in (src\main\client\*) DO (
    ECHO Building: %%~nG
    %M2_HOME%\bin\mvn package -Dclient.id=%%~nG -Dclient.path=%%G -DskipTests
)
ECHO Build end.
于 2013-07-18T14:24:17.897 に答える