首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

第十四章 灵便的构建

2012-07-15 
第十四章 灵活的构建它们的默认值是在超级POM中定义的。??resourcesresourcedirectory${project.base

第十四章 灵活的构建

它们的默认值是在超级POM中定义的。

?

?

<resources> <resource> <directory>${project.basedir}/src/main/resources</directory> <filtering>true</filtering> </resource></resources> ?

mvn clean install –Pdev

表示激活ID为dev的profile。我们可以在id为dev的profile中定义dev环境下的数据库连接等配置的Maven属性,从而用上述命令构建一个dev环境下的构件。

<settings> … <activeProfiles> <activeProfile>dev-x</activeProfile> <activeProfile>dev-y</activeProfile> </activeProfiles> …</settings> ?

<profiles> <profile> <activation> <property> <name>test</name> <value>x</value> </property> </activation> </profile></profiles>?

? 4) 操作系统环境激活:

<profiles> <profile> <activation> <os> <name>Windows XP</name> <family>Windows</family> <arch>x86</arch> <version>5.1.2600</version> </os> </activation> </profile></profiles>

?这里family的值包括Windows、UNIX和Mac等。name、arch、version可以通过查看环境中的系统属性os.name、os.arch和os.version获得。

?

<profiles> <profile> <activation> <file> <missing>x.properties</missing> <exists>y.properties</exists> </file> </activation> </profile></profiles> ?

<profiles> <profile> <activation> <activeByDefault>true</activeByDefault> </activation> </profile></profiles>?

但如果POM中有任何一个profile通过以上其他任意一种方式被激活了,所有的默认激活配置都会失效。

?

激活的多个profile中的冲突属性如何解决?

在POM中定义的profile可以修改以下项目属性:

<profile>  <repositories/>  <pluginRepositories/>  <distributionManagement/>  <dependencies/>  <dependencyManagement/>  <modules/>  <properties/>  <reporting/>  <build>    <plugins/>    <defaultGoal/>    <resources/>    <testResources/>    <finalName/>  </build></profile>
?

但在其他地方定义的profile由于无法保证它们能随着特定的pom.xml一起被分发,因此只允许修改以下属性:

?

<profile>  <repositories/>  <pluginRepositories/>  <properties/></profile> 

?

<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.1-beta-1</version> <configuration> <webResources> <resource> <filtering>true</filtering> <directory>src/main/webapp</directory> <includes> <include>**/*.css</include> <include>**/*.js</include> </includes> </resource> </webResources> </configuration></plugin> ?

<configuration> <groups>group-name</groups></configuration>?

?

???

热点排行