2013-10-09 13 views
14

Ho problemi con il passaggio di proprietà da un super pom [del progetto multimodule] a un figlio pom.Ottenere le proprietà definite nel POM padre all'interno dei moduli figlio [progetti multi-modulo]

Al momento non ho i seguenti file: superpom 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>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> 

Il bambino

<?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> 

Howeve, io non sono sicuro perché non riesco a ottenere il configurazione del plugin per recuperare le proprietà del super-pom.

+0

hai provato a utilizzare $ {databasedriver} nel tuo figlio pom? –

risposta

11

Si dovrebbe provare a utilizzare ${databasedriver} direttamente nel tuo bambino pom.

+0

Quando utilizzo questo tipo di variabile, ho ricevuto alcuni avvertimenti all'inizio della build di maven che diceva che le proprietà possono essere sconosciute o simili. C'è un modo per evitare o devo semplicemente ignorare questi avvertimenti? grazie –

+1

per quale tipo di proprietà hai questo avvertimento? è questo il problema: http://stackoverflow.com/questions/1981151/warning-on-using-project-parent-version-as-the-version-of-a-module-in-maven-3? –