我正在使用Subversion进行版本控制,使用Eclipse,Spring,Java和Tomcat开发一些小项目。我希望第一次尝试使用Maven但我已经看到的一件事我不喜欢的是,如果我用maven启动一个项目,它会将所有依赖项下载到我的.m2
文件夹中并且所有项目的类路径但我们希望将所有依赖项移到WEB-INF/lib
中,以便我们可以将它们检入Subversion。
可以用Maven完成吗?应该这样做吗?
答案 0 :(得分:3)
将二进制包检入源控件并不是很理想,而且与maven相反。一个有效的问题是当这些在线存储库发生故障并且解决方案是使用诸如Artifactory之类的东西来托管您自己的存储库时会发生什么。有些人不喜欢他们必须在源代码控制的同时维护另一个系统,但是值得拥有maven带来的所有功能。
答案 1 :(得分:2)
您可以借助Maven下载依赖项(例如使用maven-dependeny-plugin),但大多数情况下您不希望这样做。
来自Why not Store JARs in CVS?(或任何其他版本控制系统):
答案 2 :(得分:2)
了解Maven最重要的事情是项目的依赖关系不应该签入版本控制(不依赖于哪个版本控制)。 Maven的想法是只将依赖项放在$ HOME / .m2 / repository的单个位置。这意味着对于您正在工作的每个项目,您在硬盘驱动器上只有一次依赖项。依赖关系管理使您可以轻松地从项目中添加/更改/删除依赖项。此外,Maven 不仅将处理依赖性,它将支持您进行单元/集成测试,创建报告,例如代码覆盖率< / strong>等等。如果你真的想与Maven合作,你应该建立一个像Nexus,Artifactory或Archiva这样的Repository Manager。
最重要的一点是,如果你不喜欢Maven的工作方式让你的手指离开Maven,否则你将无法摆脱挑战。如果您想与maven合作,您必须接受 Maven Way 。