首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Maven settings.xml相关问题

Maven settings.xml相关问题
EN

Stack Overflow用户
提问于 2016-01-08 05:22:07
回答 2查看 1K关注 0票数 2

我在settings.xml上遇到了一些问题。实际上,问题在工作地点,我需要指出我们VPN上的不同存储库,而在尝试新示例时,我想忽略配置在VPN上的存储库服务器的settings.xml。有什么办法我能做到吗?目前,我所做的只是简单地将settings.xml的名称更改为settings.xml1,这样就可以了。但我厌倦了这样的改变。

我的同事做的一件事就是将settings.xml保存在项目本身中。我不喜欢它,因为它是maven存储库配置,不应该保存在项目本身中。对于同样的事情,我得到了类似的参考从快速启动指南以及。来自关于设置的正式文件

settings.xml文件中的设置元素包含用于定义值的元素,这些值以各种方式配置Maven执行,如pom.xml,但不应绑定到任何特定项目,也不应分发给受众。

如果您对此有任何解决方案,请随意回答。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-09 22:22:00

如果存储库是在您的settings.xml文件中定义的,那么它们就会在配置文件中定义,我猜它在默认情况下是活动的,使用了正式文件上建议的标准方法。假设这个概要文件名为vpn-rep (通过它的id元素)。

然后,您可以添加第二个概要文件,它声明任何您想要的存储库,默认情况下不处于活动状态。所以没有影响。你可以叫它my-rep

然后,由于它们是概要文件,您可以从一个命令行轻松地从一个到另一个交换机,如下所示:

  • 使用VPN存储库,不会更改maven命令。
  • 在没有VPN存储库的情况下运行mvn clean install -P!vpn-rep,my-rep

-P!vpn-rep,my-rep部分实际上将关闭vpn-rep配置文件(因此maven将不使用在其上声明的存储库,即不使用my-rep存储库),并将打开my-rep配置文件。

如果您实际上没有配置任何额外的或特殊的存储库,而且您只是不想使用VPN存储库,您可以跳过第二个配置文件的创建,只关闭第一个配置文件(-P!vpn-rep),那么Maven将使用默认的存储库。

这样一个settings.xml文件的外观示例如下:

代码语言:javascript
复制
<settings>
    <profiles>
        <profile>
            <id>vpn-rep</id>
            <repositories>
                <repository>
                    <id>central</id>
                    <url>http://your-vpn-company-repository/libs-releases</url>
                </repository>
            </repositories>

            <pluginRepositories>
                <pluginRepository>
                   ...
                </pluginRepository>
            </pluginRepositories>
        </profile>
        <profile>
            <id>my-rep</id>
            <repositories>
                <!-- any specific repository configuration here -->
            </repositories>
            <pluginRepositories>
                ...
            </pluginRepositories>           
        </profile>
    </profiles>

    <activeProfiles>
        <activeProfile>vpn-rep</activeProfile>
    </activeProfiles>
</settings>
票数 2
EN

Stack Overflow用户

发布于 2016-01-08 08:42:12

我假设您有一个私有(内部构件)和公共存储库。如果是这样的话,只需将两者都添加到您的设置文件中,它将按照给定的顺序查看每个存储库。

请参阅https://maven.apache.org/guides/mini/guide-multiple-repositories.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34670042

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档