2011-01-25 50 views
2

我在基,聚甲醛其中使用一个属性,该属性是通过一个子POM(应用程序服务器模块的部署地点)中所定义限定的轮廓。该配置文件应在初始完整构建之后使用,并由此继承到所有子组件。什么时候属性解决?

的问题是:如何/时这种特性解析:做最初的全力打造,或做一个特定的部分组件的本地编译时什么时候?

<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),该工具自动在基础工件内部创建父标记和(子)模块。

当使用像上面的过程创建的模块结构(或者在标记已知模块的genereal中)时,子模块的属性知道“base”,并将在“full-Build “(通过使用help:effective-pom和当然的构建结果可以看出)。如果只构建子模块,它也会被解析,因为配置文件是从父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> 
相关问题