2011-01-25 2 views
2

я определил профиль в моем базового П, который использует свойства, которое определяется субом-POM (развернуть-расположение Appserver-модуль). Профиль должен использоваться после первоначальной полной сборки и, таким образом, быть унаследован всеми субпомами.Когда свойства разрешены?

Вопрос в том, как и когда разрешены такие свойства: при выполнении начальной полной сборки или при локальной сборке определенного подмодуля?

<profile> 
    <id>quickdeploy</id> 
    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-jar-plugin</artifactId> 
     <configuration> 
      <outputDirectory>${ear.path}</outputDirectory> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 
</profile> 

${ear.path} определяется в подмодуль ...

ответ

0

Я просто попытался ваш вопрос Созданное два артефакта с m2eclipse. Первый - это q4794952.base, который является простым проектом maven и имеет свой тип pom. Затем я создал второй артефакт (щелкните правой кнопкой мыши по базовому проекту, New => Maven => Maven Module), который автоматически создает родительский тег и (дополнительный) модуль внутри базового артефакта.

При использовании структуры модуля, подобной созданному выше процессом (или в генетическом выражении, когда модуль известен тегом), свойство из подмодуля известно «базе» и будет разрешено в «полной версии» »(как видно из использования справки: эффективный pom и результат сборки, конечно). Если вы создаете только подмодуль, он также разрешен, потому что профиль берется из родительского пом и свойство устанавливается в (под) модуле.

Вот мой "basepom":

<project> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.stackoverflow</groupId> 
    <artifactId>q4794952.base</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>pom</packaging> 
    <profiles> 
    <profile> 
    <id>quickdeploy</id> 
    <build> 
     <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-jar-plugin</artifactId> 
      <configuration> 
      <outputDirectory>${ear.path}</outputDirectory> 
      </configuration> 
     </plugin> 
     </plugins> 
    </build> 
    </profile> 
    </profiles> 
    <modules> 
    <module>q4794952.sub</module> 
    </modules> 
</project> 
Смежные вопросы