我应该如何在SCM中配置我的MAVEN项目?

时间:2012-02-01 17:28:14

标签: svn version-control maven maven-scm

我是否应该提交ENTIRE代码库以及POM,并让用户一次一个地检查一个项目,用于多个maven项目,其中一个包含多个模块?

我是否应该只提交POM,并在每个POM中配置SCM信息?

配置maven SCM插件时,提交/检出如何工作?你通过subversion存储POM,检查它们,然后实现POM,以便maven将其余的相应文件下载到该项目中吗?如果你需要添加新文件,但是你通过maven使用SCM会怎么样?

我对使用svn(标准方式)存储文件与以每个pom存储SCM信息之间的区别感到困惑。关于如何使用Maven并使用SCM信息加载它的文档似乎绝对没有。

最好将SCM信息直接存储在POM中,或者如前所述,我应该将整个项目添加到SVN,包括各自的POM吗?

或者将SCM信息直接嵌入maven并让maven实现所述项目更好吗? Maven SCM插件是否与subclipse很好地配合?例如 - 在你从maven POM“实现”项目之后,它是否从SVN导入项目文件,然后在版本控制下在eclipse中显示它们?如果我将SCM信息嵌入到maven POM中,那么我是否只为我的pom文件创建一个单独的SVN repo?或者我只是将所有POM文件直接放在我的工程仓库的主干中?

希望有人可以帮我澄清一下。我很困惑。谢谢!

1 个答案:

答案 0 :(得分:2)

始终在SCM中提交所有源代码。否则,您将无法获得源代码的历史记录。

同时在SCM中提交你的pom,否则你没有关于如何构建它的历史记录。这样的历史对于能够构建软件的旧分支至关重要,并且由于构建和源代码紧密耦合,因此最好将pom.xml与源代码一起提交到同一个存储库中。 / p>

为了方便其他maven工具,您可能需要在pom.xml中提及您的SCM。这是可选的,但我强烈建议你这样做。这允许CI系统验证他们的源代码副本是最新的,并在必要时为他们提供签出新副本所需的配置。

我不知道任何实际为您检查代码的工具或插件。如果你没有检查你的源代码,那么所有其他工具都会检查一个简单的pom.xml(因为那是SCM中的所有内容),并且SCM参考不会能够告诉任何人源代码在哪里(因为它不在SCM中)。