错误的存储库-Maven

时间:2019-05-25 12:26:37

标签: java maven dependencies pom.xml nexus

我正在尝试使用Maven在Java项目中配置一些依赖项:

<dependencies>
    <dependency>
        <groupId>com.rometools</groupId>
        <artifactId>rome</artifactId>
        <version>1.12.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.5.2</version>
    </dependency>
    <dependency>
        <groupId>com.basho.riak</groupId>
        <artifactId>riak-client</artifactId>
        <version>2.0.7</version>
    </dependency>
    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.8.5</version>
    </dependency>
</dependencies>

使用IntellIJ无法识别它们,所以我尝试从控制台运行它:

mvn clean install -U

它没有用,但是我设法看到Maven正在我公司的私人Nexus上查找依赖项(完全无关)。所以,我想我的Maven已配置为在此存储库中搜索而不是在公共存储库中搜索?如何更改此配置以正确获取此依赖关系?

我正在使用macOS 10.13.6。

2 个答案:

答案 0 :(得分:1)

Maven对于~/.m2/settings.xml中的所有事情通常都会发生的配置有些特殊。不幸的是,XML语言不够聪明,无法包含实际的代码,这意味着您不能有条件地设置诸如“当我在公司网络中时使用此镜像”之类的条件(您似乎已经做过)。

但是,您现在可以将其重命名为例如~/.m2/company-settings.xml,因此Maven将使用其内置的默认值,并在再次需要当前功能时将其重命名。

答案 1 :(得分:0)

$ mvn install -s /path/to/my-settings.xml

使用特定设置xml文件可以使您跳过公司的私人存储库。