2012-11-02 19 views
5

他のプロジェクトにいくつかの依存関係があるプロジェクトがあります。ビルド依存プロジェクトの作成方法

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
<modelVersion>4.0.0</modelVersion> 
<groupId>group1</groupId> 
<artifactId>artifact1<artifactId> 
<name>RealtyRegistry</name> 
<packaging>war</packaging> 
<version>1.0.0-SNAPSHOT</version> 
<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
</properties> 
<dependencies> 
    <dependency> 
     <groupId>group1</groupId> 
     <artifactId>artifact2</artifactId> 
     <version>1.0.0</version> 
    </dependency> 
    <dependency> 
     <groupId>group1</groupId> 
     <artifactId>artifact3</artifactId> 
     <version>1.0.0</version> 
    </dependency> 
</dependencies> 

これらはすべて私が開発したものです。私はすべてのプロジェクトのファイルに版を追加し、私は従属プロジェクトと一緒にメインプロジェクトを構築する必要があります。ツリー構造のないプロジェクトではどうすればいいですか?

プロジェクトヒエラルキーには2つ以上のカバーツリーがあります。たとえば、AはB、Cに依存します。 DはC、Eに依存する。 AとDは独立しています。

答えて

6

「モジュール」を使用して、複数のプロジェクトをまとめてビルドすることができます。通常、<packaging>pom</packaging>という名前の "mother"プロジェクトを作成し、<modules>タグを使用して実際のプロジェクトをモジュールとして追加することで、これを行います。次に、 "mother"プロジェクトをビルドすると、すべてのモジュールが自動的に正しい順序でビルドされます。これはそれに応じて命名されているサブフォルダにあなたのモジュールを持っているあなたを必要とすることが

<groupId>org.sonatype.mavenbook.multi</groupId> 
<artifactId>simple-parent</artifactId> 
<version>1.0</version> 
<packaging>pom</packaging> 

<modules> 
    <module>simple-weather</module> 
    <module>simple-webapp</module> 
</modules> 

注:ここでは

Maven by Example本からの例です。たとえば、あなたはいくつかのフォルダに「お母さん」ポンポンを持っているでしょう:

/.../my-project/ 

とのモジュール:詳細については

/.../my-project/simple-weather/ 
/.../my-project/simple-webapp/ 

、書籍のChapter 6. A Multi-module Projectを読んで、それはSonatype上で自由に利用可能ですウェブサイト

+0

私のプロジェクトはサブフォルダに入れるためのツリーを形成しません。プロジェクト階層のための2つ以上のカバーツリーが存在することができます。たとえば、AはB、Cに依存します。 DはC、Eに依存する。 AとDは独立しています。 – Vyacheslav

+0

は、依存モジュールのpom内でこれらの依存関係を指定します。 – Will

+0

@Vyacheslavここでは誤解があります。モジュールシステムは依存関係とは関係ありません。あなたのプロジェクトはお互いの間に任意の依存関係を持つことがあります。唯一の新しいことは、それらをメインプロジェクトのモジュールとして宣言し、それらをサブフォルダの隣に配置することです。 – rolve

関連する問題