我们的subversion服务器上有一个maven项目。项目中有一个pom.xml
。当我想将项目导入我的本地计算机并对其进行更改时,我必须相对于pom.xml
内的本地系统更改此行,因为我需要在本地系统上部署项目以在提交之前对其进行测试:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<webappDirectory>/opt/JBoss_4.0.4.GA/server/default/deploy/agg-gateway.war</webappDirectory>
</configuration>
</plugin>
我的每个团队成员都应该相对于他们的本地系统做到这一点。
但是这个设置必须在主项目上保持不变,我不能将pom.xml
提交给subversion。如果我的一个团队成员更改了此文件,那么每次更新项目时,我都必须相对于我的本地系统再次更改它。
有没有办法让文件在subversion上不可更改?我无法控制所有人不要将pom.xml
提交给svn
。
答案 0 :(得分:4)
在~/.m2/settings.xml
中使用特定于每个开发者的自定义属性:
<profiles>
<profile>
<id>local-weblogic</id>
<properties>
<local.weblogic.deployment.directory>/opt/JBoss_4.0.4.GA/server/default/deploy/agg-gateway.war</local.weblogic.deployment.directory>
</properties>
</profile>
</profiles>
<activeProfiles>
<activeProfile>local-weblogic</activeProfile>
</activeProfiles>
并在pom.xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<webappDirectory>${local.weblogic.deployment.directory}</webappDirectory>
</configuration>
</plugin>