工作区中每个项目的具有自定义settings.xml Maven文件的Vscode

vkc1a9a2  于 2022-11-02  发布在  Maven
关注(0)|答案(3)|浏览(250)

我有一个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命令)中正常工作?

6rvt4ljy

6rvt4ljy1#

VSCode设置ID./settings.xml

1.在VSCode中,转至首选项〉设置〉工作区
1.搜索'maven'
1.设置“Java〉配置〉Maven:用户设置“设置为./settings.xml,以使VSCode使用项目的本地settings.xml
1.如果需要,重新启动VSCode
Screenshot

im9ewurl

im9ewurl2#

您可以使用mvn --settings settings.xml clean install为每个Java应用程序分别指向各自的settings.xml

yacmzcpb

yacmzcpb3#

首先检查终端是否执行了“mvn... -s my_settings.xml”命令,这说明vscode-maven插件是正确的,如果是,则问题出在命令本身。
一个解决办法是删除全局maven settings.xml,通常在$MAVEN_HOME\conf\settings.xml中。然后mvn ... -s my_settings.xml应该可以工作。对我来说它工作得很好。
原因可能是当找到全局maven设置文件时,mvn CLI可能会忽略mvn选项中的设置文件。

相关问题