我在 settigns.xml 文件中添加了代理配置,但 Maven 没有使用它,我通过使 settings.xml 文件无效来确认这一点。我运行了 maven install 命令来更新设置和全局设置以指向正确的文件,仍然没有运气。我正在使用 maven3.0.4。
11 回答
尝试使用 -X 选项运行 Maven。它应该作为调试输出的一部分打印正在使用的设置文件。
由于您已经尝试使用无效文件,我敢打赌您的文件位置有问题。
确保它在正确的目录中(HOME/.m2/settings.xml)
您可以在此处找到相关路径和代理示例:Maven 代理设置不起作用
当然,参考总是有用的:https ://maven.apache.org/settings.html
说起来几乎是愚蠢的,但它可能会为其他人节省一些时间:如果您使用的是新计算机,请确保显示文件扩展名。否则你的“settings.xml”文件实际上可能是一个“settings.xml.txt”文件......
由于没有可接受的答案,而我今天遇到了这个问题,其他答案证明文件路径正确,因此无法解决:
解决方案是重新启动计算机。不,认真的。重新启动后,保证 Maven 再次读取 settings.xml 文件并使用您所做的任何更改。
您是否尝试过这些选项:从命令行指定设置文件?
mvn -o –Dmaven.repo.local=$HOME/.my_m2path/repository clean install --settings $HOME/.my_m2path/settings.xml Dcheckstyle.skip=true –DskipTests
一些可能不需要的选项
- -o 用于离线(除非您的 m2 中有所有存储库,否则建议跳过此选项)
- 跳过测试用于在构建时跳过测试
- –Dmaven.repo.local - repo path - 如果你有自己的 repo 路径,那么使用这个选项
- --settings $HOME/.my_m2path/settings.xml (记住设置和路径之间有空格)
对于那些使用 Linux 的人
在 Ubuntu 软件包存储库(可能还有其他 disto)中,有两个 maven 软件包:maven
和maven2
. 出于某种原因,我已经maven2
安装了,这似乎settings.xml
在~/.m2
.
作为解决方案,我使用删除它
sudo apt-get purge maven2
并安装了另一个
sudo apt-get install maven
这是怎么回事?
我找不到可靠的来源,但显然maven2
是旧版本(2.x),因为最新的 maven 有 3.x 版本,并提供maven
.
请确保您使用的是您修改的 settings.xml。例如:您使用 IDE 的嵌入式 maven,它在您的操作系统中使用不同的 settings.xml。
您可以在 Eclipse* 中将设置文件的路径设置为:
在菜单栏中转到 Window -> Preferences
在首选项对话框中,转到 Maven 部分(在左侧)并展开它。
单击用户设置。
使用浏览添加设置文件的路径。大多数用户的默认设置是 (C:\Users\.m2\settings.xml)。它将显示为灰色,但您需要实际输入位置。
点击更新设置!
您还可以通过单击“首选项”对话框中的 Maven 部分并选中“调试输出”标签来启用调试日志和堆栈跟踪以进行调试。
- PS 我目前在 Windows 10 x64 上使用 Eclipse(Neon)。
我发现即使我使用 --settings
or-s
命令设置了自己的 Maven 设置文件,例如:
mvn -s $MAVEN_HOME/libexec/conf/my-settings.xml clean
Maven 仍在读取默认的全局setting.xml
有两种方法可以解决这个问题:
- 将 setting.xml 重命名为类似于目录
setting.xml.bak
中的$MAVEN_HOME/conf
名称。 - 首选方法将全局添加到命令中,
-gs
因此最终命令变为:
mvn -gs $MAVEN_HOME/libexec/conf/my-settings.xml clean
我也一直面临同样的问题。我删除了文件和文件夹,但 maven 仍在选择设置。
对我来说,重新启动系统解决了这个问题。
今天遇到了这个问题。我正在编辑我的 USER/.m2 目录中的 settings.xml。在我更改 M2_HOME/conf 中的 settings.xml 后,它起作用了 =)