2011-12-19 42 views
0

我有一个调用ant和maven构建文件的make文件。我在为maven设置代理设置时遇到了一些麻烦。因为我没有找到这个make文件的settings.xml文件。所以我在{user.hom} /。m2 /目录中创建了它,它通常寻找一个目录。这确实解决了这个问题,但是当我运行sudo时,它并没有找到这个文件,并且在试图从远程仓库下载时开始“连接被拒绝”。在settings.xml之外设置maven代理设置

有没有办法从make文件中设置Maven代理设置,这样我就不必手动创建settings.xml。也许在POM文件或其他方式。

它看起来好像没有完全安装,但依靠外部引用来完成它所需的任何事情。我从来没有安装maven或ant,我找不到m2_home目录。这个make文件应该能够在没有maven的系统上运行。

回答

2

使用sudo时,默认情况下脚本以用户“root”身份执行。所以代理设置应该在root的homedir中。但我认为,使用root权限运行make不是一个好主意。

根据Maven-Proxy-ExampleMaven-Pom-Reference,在Pom中没有代理配置。

This Question似乎确认了这一点。也许java.net.useSystemProxies的想法可以做你想做的。

我不确定this markup只用于eclipse插件,或者通常由maven自己使用。

+0

我停止使用sudo运行它,但现在make过程不是完全自动化的,因为要使其工作,用户必须将此“setup.xml”文件添加到.m2目录。试图找出是否有另一种方式。 – Randnum 2011-12-19 23:15:35

+0

您是否尝试了第二个链接问题中的-DproxySet = true optioms? – Corubba 2011-12-20 00:13:24

+0

我将此设置为正确的答案,因为从技术上讲,它使用的是settings.xml,并且您的答案有所帮助。我仍然不确定make过程与我实际安装Maven的关系,或者甚至需要在计算机上完整安装Maven和Ant以运行Make文件以充分利用它们。我正在运行其他人的Makefile,所以我不是Make专家,但它似乎暂时安装Maven以供此用途。 – Randnum 2011-12-20 04:47:24