通过NetBeans 6.7创建/访问SVN中的Maven存储库*修订版*

时间:2009-09-17 20:31:16

标签: java svn maven-2 netbeans dependencies

编辑:好的......所以我已经收集到SVN不应该用于此...这是有道理的,我想(为什么版本个别文件的版本应该是一个单独的罐子?)。

因此,我们应该使用内部服务器来托管像Nexus(等)这样的存储库管理工具,并通过http访问它以下拉并输出依赖项。我们现在正在SVN中保留我们的项目。部署的标准是什么?依赖关系进入Maven。项目进入SVN。我们应该忽略dist和build文件夹吗?我们的WAR文件将从哪里部署?

旧问题(后代)

我是Maven的新手,并且不知道 jack 。我正在尝试评估它以了解它将如何处理我们的Java开发。

我希望在我们的SVN服务器中有一个Maven存储库,以便可以使用NetBeans 6.7从那里下载依赖项。我无法在许多google和stackoverflow搜索中找到如何执行此操作。

这里的最佳做法是什么?我想我们想要使用svn + ssh下载依赖项,但大多数在线似乎都指向使用http。

用伟大的东西填满我的大脑!


2 个答案:

答案 0 :(得分:5)

我强烈建议不要这样做。 Maven工件不属于SCM服务器。您应该考虑使用像Nexus这样的存储库管理器来存储您的工件。请参阅此处以查看主repository managers的比较。

说完了。如果您决定使用Subversion来托管您的工件。有关使用wagon scm部署到Subversion存储库的信息,请参阅此question

如果您想了解有关Maven的更多信息,请查看Maven: the definitive guide

Netbeans有一个Maven插件可以管理依赖项。 This article列出了Maven和Netbeans的一些最佳实践。


根据您更新的问题进行更新。如何处理自己的罐子:

Maven有一个deploy phase,它会将您的工件发布到远程存储库。您需要配置pom的distributionManagement部分,并在settings.xml中提供appropriate credentials以允许部署发生。通常,您将在服务器上为自己的工件设置一个离散的逻​​辑存储库,以使它们与第三方工件隔离。 Nexus book为在Nexus上配置存储库提供了一些很好的指导。请特别参阅Adopting a Repository Manager部分。

如果您已正确配置项目,请运行mvn deploy,所有阶段都将运行,包括部署阶段,您的工件将发布到存储库,供团队其他成员使用/公司

如果您需要限制对存储库的访问,您可以配置对存储库的访问控制,以便只有经过身份验证的用户才能访问这些工件(对于Nexus,请参阅本书的Managing Security部分以获取指导)。

值得注意的是,您可以使用Artifactory或Archiva作为Nexus进行大致相同的事情(或多或少),我已经包含了Nexus引用,因为我更喜欢它,并且文档非常好。

答案 1 :(得分:1)

不要将它们存储在SVN中。

我会做两件事来确保你没有太多头痛:

  1. 在您和您的同事可以共享的某个地方,将存储库镜像到您的盒子附近。这将消除额外的下载,并允许您使用镜像的pom / jar文件修复可能出现的任何问题(并且他们会),这样您的配偶就不必分担头痛。有几个回购经理可以帮助解决这个问题。
  2. 尽力使用您的计算机存储库,并将更改/修改推送到您可能对本地共享存储库创建的任何pom文件。