获取子模块中父POM中定义的属性[多模块项目]

时间:2013-10-09 20:52:48

标签: maven properties multi-module

我遇到了将属性从多模块项目的超级pom传递到子pom的问题。

目前我有以下文件: 的 superpom

<?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>...</groupId>
    <artifactId>meta-all</artifactId>
    <version>1.0</version>
    <packaging>pom</packaging>
    <properties>
        <databasedriver>net.sourceforge.jtds.jdbc.Driver</databasedriver>
    </properties>
    <modules>
        <module>child1</module> 
    </modules>
</project>

孩子pom

<?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>...</groupId>
    <artifactId>child1</artifactId>
    <version>1.0-SNAPSHOT</version>
    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>sql-maven-plugin</artifactId>
                <version>1.5</version>
                <!-- JDBC Driver -->
                <dependencies>
                    <dependency>
                        <groupId>net.sourceforge.jtds</groupId>
                        <artifactId>jtds</artifactId>
                        <version>1.3.1</version>
                    </dependency>
                </dependencies>
                <configuration>
                    <driver>${project.parent.databasedriver}</driver>
                  ...
                    <autocommit>true</autocommit>
                    <delimiter>GO</delimiter>
                    <delimiterType>row</delimiterType>
                </configuration>
                <executions>

但是,我不知道为什么我无法获取插件配置来检索超级pom的属性。

1 个答案:

答案 0 :(得分:16)

您应该尝试直接在您的孩子pom中使用${databasedriver}

相关问题