Maven中不同配置文件的不同SCM
在我的项目中,我们必须使用maben build number插件来构造jar的最终名称,为此,我们使用SCN的修订版,所以我们需要SCM 但我们在受控环境(无直接访问)和本地测试环境上有两个SVN,因此我们必须使用:Maven中不同配置文件的不同SCM,maven,svn,version-control,maven-profiles,Maven,Svn,Version Control,Maven Profiles,在我的项目中,我们必须使用maben build number插件来构造jar的最终名称,为此,我们使用SCN的修订版,所以我们需要SCM 但我们在受控环境(无直接访问)和本地测试环境上有两个SVN,因此我们必须使用: <scm> <connection>scm:svn:http://dev.com/svn_repo/trunk</connection> <developerConnection>scm:svn:https://de
<scm>
<connection>scm:svn:http://dev.com/svn_repo/trunk</connection>
<developerConnection>scm:svn:https://dev.com/svn_repo/trunk</developerConnection>
<url>http://dev.com/view.cvs</url>
</scm>
scm:svn:http://dev.com/svn_repo/trunk
scm:svn:https://dev.com/svn_repo/trunk
http://dev.com/view.cvs
但对于客户环境:
<scm>
<connection>scm:svn:http://client.com/svn_repo/trunk</connection>
<developerConnection>scm:svn:https://client.com/svn_repo/trunk</developerConnection>
<url>http://client.com/view.cvs</url>
</scm>
scm:svn:http://client.com/svn_repo/trunk
scm:svn:https://client.com/svn_repo/trunk
http://client.com/view.cvs
是否可以在不同的配置文件中配置此功能。我试过了
<profiles>
<profile>
<id>local</id>
<scm>
<connection>scm:svn:http://client.com/svn_repo/trunk</connection>
<developerConnection>scm:svn:https://client.com/svn_repo/trunk</developerConnection>
<url>http://client.com/view.cvs</url>
</scm>
</profile>
<profile>
<id>remote</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<scm>
<connection>scm:svn:http://client.com/svn_repo/trunk</connection>
<developerConnection>scm:svn:https://client.com/svn_repo/trunk</developerConnection>
<url>http://client.com/view.cvs</url>
</scm>
</profile>
</profiles>
地方的
scm:svn:http://client.com/svn_repo/trunk
scm:svn:https://client.com/svn_repo/trunk
http://client.com/view.cvs
遥远的
真的
scm:svn:http://client.com/svn_repo/trunk
scm:svn:https://client.com/svn_repo/trunk
http://client.com/view.cvs
但是当我使用profile-Plocal时,什么也没有发生?我通过为需要为不同配置文件更改的SCM连接详细信息创建一个属性来解决这个问题。下面是我所做工作的总结 在“特性”块中定义特性及其默认值
<properties>
<developerConnectionUrl><!-- developerConnection url here --></developerConnectionUrl>
</properties>
设置scm块特性以使用全局特性
<scm>
<developerConnection>${developerConnectionUrl}</developerConnection>
</scm>
${developerConnectionUrl}
创建了一个配置文件,可根据需要更改全局属性
<profiles>
<profile>
<id>local</id>
<properties>
<developerConnectionUrl><!-- developerConnectionUrl url for profile --></developerConnectionUrl>
</properties>
</profile>
</profiles>
地方的
据我所知,通过对模式的快速扫描,
scm
标记只能在POM的顶层使用,并且在profile
标记内无效。不应更改工件的名称。只应包含某种类型的信息,以便能够识别生成源代码的源代码的状态。此外,我将在一个环境上构建并在其他环境中部署它。因此,您不需要几个SCM条目。最好使用像Jenkins这样的CI解决方案来解决这些问题……好的。明白我想要的在Maven是不可能的吗?你有没有找到解决办法?