我已经将Maven广泛用于我的个人项目,但现在我必须为5-7名开发人员的小团队进行设置。
我的主要问题是,管理Maven存储库中没有的商业库依赖关系的推荐方法是什么?如何管理这些商业库对他们使用的开源库的依赖性,并且可以在Maven repos中使用?
此外,我是否应该知道或实施任何其他建议和建议,以使设置尽可能高效,有效和顺畅?
提前致谢。
答案 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) - ?