我有一个Vscode工作区,其中包含一系列Maven项目,并且其中一个项目有自己的Maven settings.xml文件。
由于每个项目都有自己的同名设置文件,但在自己的根文件夹中,我成功地将两个工作区配置为每个项目,并使用这样的选项:{"maven.executable.options": "-s my_settings.xml"}
.
虽然我可以成功地为所有项目运行任何Maven命令,但是Vscode在pom.xml
文件中报告了关于缺少工件的问题,并且当我从侧栏中的“Testing”运行测试时,报告了相同的错误。
当我复制一个项目的设置文件到~/.m2/settings.xml
,给定的项目工作正常,没有任何错误。
因此,我认为Vscode不尊重**“maven.executable.options”**用于IDE中的所有项目操作,如测试,可能还有其他操作,但仅限于直接启动的Maven命令。
我不想在每次打开一组给定的项目时,将所有这些settings.xml
文件合并到本地~/.m2/settgins.xml
中的一个大文件中。
有没有办法教Vscode对每个项目使用不同的settings.xml
,并使其在所有Vscode操作(不仅仅是Maven命令)中正常工作?
3条答案
按热度按时间6rvt4ljy1#
VSCode设置ID:
./settings.xml
1.在VSCode中,转至首选项〉设置〉工作区
1.搜索'maven'
1.设置“Java〉配置〉Maven:用户设置“设置为
./settings.xml
,以使VSCode使用项目的本地settings.xml1.如果需要,重新启动VSCode
Screenshot
im9ewurl2#
您可以使用
mvn --settings settings.xml clean install
为每个Java应用程序分别指向各自的settings.xmlyacmzcpb3#
首先检查终端是否执行了“mvn... -s my_settings.xml”命令,这说明vscode-maven插件是正确的,如果是,则问题出在命令本身。
一个解决办法是删除全局maven settings.xml,通常在
$MAVEN_HOME\conf\settings.xml
中。然后mvn ... -s my_settings.xml
应该可以工作。对我来说它工作得很好。原因可能是当找到全局maven设置文件时,mvn CLI可能会忽略mvn选项中的设置文件。