为团队设置Maven

时间:2010-05-29 03:38:05

标签: java maven-2 maven

我已经将Maven广泛用于我的个人项目,但现在我必须为5-7名开发人员的小团队进行设置。

我的主要问题是,管理Maven存储库中没有的商业库依赖关系的推荐方法是什么?如何管理这些商业库对他们使用的开源库的依赖性,并且可以在Maven repos中使用?

此外,我是否应该知道或实施任何其他建议和建议,以使设置尽可能高效,有效和顺畅?

提前致谢。

2 个答案:

答案 0 :(得分:5)

您可能希望首先使用Nexus或Artifactory设置自己的内部Maven存储库。将其配置为您自己的工件的存储库,以及作为Central和任何其他外部存储库的缓存代理,您需要从中获取内容。

然后为每个商业库创建仅二进制POM文件,包括对它们所依赖的已发布库的依赖性。将POM文件和相应的JAR文件上载到所需结构中的内部存储库。只需确保在您的团体/组织外部看不到这些POM和JAR ......取决于相应商业产品的许可证允许/要求。

当然,这意味着您将无法通过Maven公开提供您的应用程序(依赖于这些库)。但是你可能已经考虑到了这一点。

答案 1 :(得分:4)

我强烈建议您使用超级parent pom和一些常用设置,例如

                <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <inherited>true</inherited>
                <configuration>
                    <source>1.6</source><!-- java version -->
                    <target>1.6</target>
                    <encoding>UTF-8</encoding><!-- your source encodings -->
                    <debug>true</debug><!-- false for production -->
                    <optimize>false</optimize><!-- true for production -->
                    <showDeprecation>true</showDeprecation>
                </configuration>
            </plugin>

实际上有很多“常见”设置(报告插件),父pom保证所有人都使用相同的,并且更改到达所有

还有什么 - 除了自己的maven回购(尝试nexus) - ?

  • 检查使用过的IDE,Eclipse,Netbeans和IntelliJ有不同级别的maven支持和悲伤但真实的不同行为,如果可以的话,让你的团队使用一个 IDE
  • 考虑像hudson
  • 这样的构建服务器