http://maven.apache.org/settings.html根据文档,用户特定设置可以复制到.m2文件夹或maven安装下。如果开发人员更改了计算机或获取了新的用户ID,则必须手动将这些属性复制到这些较新的计算机上。
是否可以将用户特定的设置信息存储在存储库本身(比如SVN)中,并且在启动时以某种方式让mvn脚本加载它。
答案 0 :(得分:6)
如果settings.xml
的内容不是特定于用户的内容(例如mirrors
),则可以使用自定义conf/settings.xml
将整个Maven安装存储在SVN中并让开发人员抓住它来自SVN,将其“安装”在新机器上,如previous answer所述。
如果settings.xml
的内容确实是用户特定的(例如它包含密码之类的秘密内容),那么它必须位于~/.m2
中,您必须以某种方式使其在新版本中可用地点。如果开发人员登录其他计算机,则可以使用“Roaming user profile”。如果开发人员获得了另一个ID,那么你真的必须复制它。技术解决方案可能取决于所需的保密程度。
如果您有多个开发人员共享用户标识但仍需要不同的settings.xml
,那么您必须使用-s
选项将其传递给Maven。可以想象在这种情况下将这些自定义settings.xml
存储在项目中(假设它不包含敏感信息)。例如:
mvn -s settings-user1.xml <goal>
答案 1 :(得分:0)
不,用户设置的重点是将它们存储在maven项目之外。但是,没有什么可以阻止您创建自己的svn存储库并将配置文件存储在那里。您可以编写一些shell脚本来从该存储库引导新工作站,但这实际上取决于您执行此操作的频率,以使其值得。
答案 2 :(得分:0)
我建议您设置自己的存储库,例如Archiva,Nexus或Artifactory。哪个将获得您的依赖项/插件,然后您可以使用mirror指定显式只使用一个存储库(您在网络上设置的存储库)。因此,无论何时开发人员需要为多个开发人员更改计算机或依赖关系,内部镜像都可以用作repo,您的依赖关系/插件将立即下载到本地存储库/ ies