我正在尝试使用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。
答案 0 :(得分:1)
Maven对于~/.m2/settings.xml
中的所有事情通常都会发生的配置有些特殊。不幸的是,XML语言不够聪明,无法包含实际的代码,这意味着您不能有条件地设置诸如“当我在公司网络中时使用此镜像”之类的条件(您似乎已经做过)。
但是,您现在可以将其重命名为例如~/.m2/company-settings.xml
,因此Maven将使用其内置的默认值,并在再次需要当前功能时将其重命名。
答案 1 :(得分:0)
$ mvn install -s /path/to/my-settings.xml
使用特定设置xml文件可以使您跳过公司的私人存储库。