【maven】依存関係のプロジェクト定義の記述内容

【maven】依存関係のプロジェクト定義の記述内容

例えばこのようなマルチプロジェクトがあるとして、

それぞれのpom.xmlの依存関係に着目するとどのような記述になっているのかが気になったので整理します。

todoBatch-parent

<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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>itouoti.spring.batch</groupId>
    <artifactId>todoBatch-parent</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>pom</packaging>

    <name>todoBatch-parent</name>
    <url>http://maven.apache.org</url>

    <modules>
        <module>todoBatch-env</module>
        <module>todoBatch</module>
    </modules>

</project>

親プロジェクトの管理している子プロジェクトをモジュールとして認識させています。

todoBatch-env

<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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>itouoti.spring.batch</groupId>
        <artifactId>todoBatch-parent</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>

    <artifactId>todoBatch-env</artifactId>

</project>

parentタグで親プロジェクトを指定しているだけです。

todoBatch

<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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>itouoti.spring.batch</groupId>
        <artifactId>todoBatch-parent</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>

    <artifactId>todoBatch</artifactId>


    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>itouoti.spring.batch</groupId>
                <artifactId>todoBatch-parent</artifactId>
                <version>1.0-SNAPSHOT</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
    
    <dependencies>
        <dependency>
            <groupId>itouoti.spring.batch</groupId>
            <artifactId>todoBatch-env</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
    </dependencies>
    
</project>

todoBatch-envに依存しているため、dependencyタグでtodoBatch-envを登録しています。

mavenカテゴリの最新記事