我有一个settings.xml适用于所有Maven项目的通用文件,其中定义了默认配置文件以及服务器和镜像.如何使用项目特定的设置忽略默认设置?
我可以指向settings.xml一个特定Maven项目的本地文件吗?
传递带--settings参数的本地设置文件也可以,但是没有办法永久地执行此操作?
Bri*_*ice 20
我想我有一个解决这个问题的方法,你需要一个最近的maven版本,我正在使用maven 3.5.2但是这个功能是在maven 3.3.1中引入的,我相信,不确定.
我们的想法是使用本地.mvn文件夹(在父项目的文件夹中),在这里可以配置一些东西,比如JVM选项,总是使用的maven选项等.
对于maven选项,只需maven.config在.mvn包含内容的文件夹中创建一个文件--settings ./.mvn/local-settings.xml,这应该是关于它的.当然local-settings.xml应该是有效的maven设置文件.
这是maven项目根文件夹中的结构:
parent-mvn-project
??? .mvn
? ??? local-settings.xml
? ??? maven.config
??? submodule-A (if any submodules)
??? submodule-B (if any submodules)
Run Code Online (Sandbox Code Playgroud)
Jam*_*Gao 10
maven 3.3.1之后,使用project-settings-extension加载项目设置,并将项目特定的镜像放入${basedir}/.mvn/settings.xml每个项目中。\xc2\xa0
在${basedir}/.mvn/extensions.xml
<extensions xmlns="http://maven.apache.org/EXTENSIONS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n xsi:schemaLocation="http://maven.apache.org/EXTENSIONS/1.0.0 http://maven.apache.org/xsd/core-extensions-1.0.0.xsd">\n <extension>\n <groupId>com.github.gzm55.maven</groupId>\n <artifactId>project-settings-extension</artifactId>\n <version>0.3.5</version>\n </extension>\n</extensions>\nRun Code Online (Sandbox Code Playgroud)\n在${basedir}/.mvn/settings.xml
<settings>\n\n <mirrors>\n <mirror>\n <id>id</id>\n <url>https://url-for-this-project/</url>\n <mirrorOf>central</mirrorOf>\n </mirror>\n </mirrors>\n\n <profiles>\n <!-- profiles for this project, such as corp internal repositories -->\n </profiles>\n\n </settings>\nRun Code Online (Sandbox Code Playgroud)\n
在 IntelliJ 中,您可以为任何项目设置不同的设置文件:
local-settings.xml| 归档时间: |
|
| 查看次数: |
4655 次 |
| 最近记录: |