我有一个项目,它有一个名为repo
的目录,其中存储了工件。当我用maven构建它时, nexus 表示无法解析依赖关系;当我从maven设置中删除 nexus 时,它可以找到工件。
我想让maven在询问nexus之前查看这个目录,或者像那样,这样我就可以构建它而不会每次都停用nexus。我怎样才能做到这一点?我当前的maven设置(〜/ .m2 / settings.xml):
<settings>
<localRepository>/home/a/.m2/repository</localRepository>
<mirrors>
<mirror>
<!--This sends everything else to /public -->
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<!--<url>http://nexus.yourdomain.nl/content/groups/public</url> -->
<url>http://localhost:8081/nexus/content/groups/public</url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>nexus</id>
<!--Enable snapshots for the built in central repo to direct -->
<!--all requests to nexus via the mirror -->
<repositories>
<repository>
<id>central</id>
<url>http://central</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>http://central</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
<!-- if you want to be able to switch to the defaultprofile profile put this in the active profile -->
<profile>
<id>defaultprofile</id>
<repositories>
<repository>
<id>maven.default</id>
<name>default maven repository</name>
<url>http://repo1.maven.org/maven2</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>maven.snapshot</id>
<name>Maven snapshot repository</name>
<url>http://people.apache.org/repo/m2-snapshot-repository</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
<activeProfiles>
<!--make the profile active all the time -->
<activeProfile>defaultprofile</activeProfile>
</activeProfiles>
</settings>
答案 0 :(得分:3)
Nexus网站说,*
的mirrorOf模式会导致任何存储库请求被重定向到此镜像和您的单个存储库组,在该示例中是公共组。
可以在mirrorOf字段中使用其他模式。可能有价值的设置是使用external:*
。这匹配除了使用localhost或基于文件的存储库的存储库之外的所有存储库。
使用external:*
代替*
解决了我的问题。
<强>更新强>:
第二种解决方案: 将此选项传递给maven也可以正常工作:
mvn -Dmaven.repo.local=/path/to/repo