0

Maven モジュールから properties、親のセクションで定義されたプロパティにアクセスできません。実際のところ、ビルドを起動すると、warName の下がデフォルトです。

親ポムです

....
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.speed.pms</groupId>
    <artifactId>PMS-Main</artifactId>
    <version>1.0.0</version>
    <packaging>pom</packaging>
        <name>PMS Main Build Project</name>

    <properties>
            <context-root>PMS-CUSTOM</context-root>
        </properties>
     <modules>
        <module>../PMS-WEB</module>
     </modules>
....

そしてこれがモジュール

...
 <parent>
        <groupId>com.speed.pms</groupId>
        <artifactId>PMS-Main</artifactId>
        <version>1.0.0</version>
      </parent>
    <artifactId>PMS-WEB</artifactId>
    <packaging>war</packaging>
    <name>PMS-WEB Webapp</name>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <web.resource.dir>src/main/webapp</web.resource.dir>
    </properties>
    <build>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                    <!-- Context root from parent project -->
                    <warName>${context-root}</warName>
                    <webResources>
                        <resource>
                            <directory>${web.resource.dir}</directory>
                        </resource>
                    </webResources>
                </configuration>
            </plugin>
....

${project.parent.arctifactId} プロパティを使用できますが。${project.parent.properties.context-root} も試してみましたが、成功しませんでした。簡単なはずですが、理解できません どれが私のエラーですか? モジュールの親から継承されたプロパティであってはなりませんか?

4

2 に答える 2

2

Maven のユーザー リストにある人は、解決策を見つけるのに役立ちます。返信を掲載します

親 pom の ../PMS-WEB セクションは同じディレクトリ内の子を参照しますが、 / は定義されていないため、親が同じレベルではなく 1 レベル上にあると想定しています。

子モジュールの親セクションを変更します

<parent>
    <groupId>com.speed.pms</groupId>
    <artifactId>PMS-Main</artifactId>
    <version>1.0.0</version>
    <relativePath>../PMS-Main/</relativePath>
</parent>

すべてが機能します。

ミロスのおかげで

ダビデ

于 2013-11-25T10:27:16.820 に答える