2016-08-03 2 views
0

Opendaylightでは、私が変更したときはいつでも、特定のプロジェクトの代わりにプロジェクト全体を構築します。 mvn clean install -DskipTests = true ..ビルド全体をスキップしてプロジェクトの特定のpom.xmlをビルドする方法はありますか?たとえばovsdbでは、サウスバウンドプロジェクトを単独で実行したいのですか?Opendaylight:どのようにMavenを使って特定のプロジェクトをビルドするのですか?

答えて

0

は、より良い方法がある場合もありますが、私が使うこの問題を回避するには、次のとおりです。


私は瓶+設定ファイルをコピーするbashスクリプトを使用します。


私はモジュールにコードの変更、

  • を作る場合、私は修正モジュール
  • は、スクリプトを実行構築。ビルドされたjarファイルをコピーするには、unziped ODLディストリビューションのSystemフォルダー内の特定のフォルダーの場所にconfigファイルをコピーします。
  • ODLを再起動します。ビン/カラフきれい。

私は共通のjarファイルを更新するために使用するbashスクリプト+設定

local.shのパート:

elif [ $1 == common ]; then 
    cp /home/user/workspaces/workspace-odl/myproject/common/implementation/target/common-impl-2.0.0-SNAPSHOT.jar /home/user/controller/myproject-karaf-2.0.0-SNAPSHOT/system/com/myproject/common-impl/2.0.0-SNAPSHOT/common-impl-2.0.0-SNAPSHOT.jar 
    cp /home/user/workspaces/workspace-odl/myproject/common/model/target/common-model-2.0.0-SNAPSHOT.jar /home/user/controller/myproject-karaf-2.0.0-SNAPSHOT/system/com/myproject/common-model/2.0.0-SNAPSHOT/common-model-2.0.0-SNAPSHOT.jar 
    cp /home/user/workspaces/workspace-odl/myproject/common/config/src/main/resources/initial/89-common.xml /home/user/controller/myproject-karaf-2.0.0-SNAPSHOT/system/com/myproject/common-config/2.0.0-SNAPSHOT/common-config-2.0.0-SNAPSHOT-config.xml 
    rm /home/user/controller/myproject-karaf-2.0.0-SNAPSHOT/etc/opendaylight/karaf/89-common.xml 
    echo "Updated common" 

が実行:

./local.sh common 

これがコピーされます更新されたjars、そして次にODLを実行するときに、更新されたjarsはpiになりますくそった。

これは高速で、ODLプロジェクト全体を再構築する必要はありません。

0
  1. 初めて使用している場合は、コマンド

    MVNクリーンを使用して、プロジェクト全体がその後の変化については-DskipTests -Dcheckstyle.skip =真

  2. はあなたがsouthbound-に変更されていると言うのインストール構築implは上記のコマンドを使ってsouthbound-implをビルドします。

  3. 上記のコマンドを使用してsouthbound-karafをビルドします。その後、カラフをテストしてテストすることができます。ターゲット/アセンブリ/ bin/karaf用。[SH |バット]

0

あなたはyou Maven settings.xmlに適切なエントリを持っていると仮定すると、あなたがそのフォルダにMavenを実行することにより、OpenDaylight Mavenプロジェクト内の任意のモジュールを構築することができます。

cd southbound 
mvn clean install 

また、プロジェクトのルートから:ovsdbsouthboundため

mvn -f southbound clean install 

あなただけの単一のモジュール(その子のいずれも)構築したい場合:

mvn -pl southbound clean install 

を(これらのすべて標準のMavenオプションです)。

OpenDaylightにはいくつかの素晴らしいextrあなたは上の反復処理に使用できるよう、より迅速に構築します。

mvn -f southbound clean install -Pq 

  • qプロファイルは、得られた成果物(静的解析、テスト、ドキュメント...)に寄与しないすべての目標をスキップ

    mvn -f southbound clean install -DaddInstallRepositoryPath=.../karaf/system 
    

    (置換:

  • 更新JARはaddInstallRepositoryPath変数を使用して既存のKarafシステムフォルダ内に直接設置することができます...と適切なパス)。

これらを組み合わせることができるが、そう

mvn -f southbound clean install -DaddInstallRepositoryPath=.../karaf/system -Pq 

( - それは、バンドルを再ロードしても実行することができる)は、既存のKarafにJARファイルを作成し、インストールします。

関連する問題