我创建了 maven扩展,现在我尝试使用它而不在本地安装它。所以我已经将它部署到我们自己的存储库(还没有maven中心)但是由于某些原因,maven正试图从https://repo.maven.apache.org/maven2下载它,当然它失败了:
[警告]无法读取扩展描述符 /home/my-user/git/my-project/.mvn/extensions.xml:插件 com.blablablah:kompile-maven-extension:1.0或其依赖项之一 无法解决:无法找到神器 com.blablablah:kompile-maven-extension:jar:1.0在中央 (https://repo.maven.apache.org/maven2)
如何告诉maven从我们的存储库下载它?
我的〜/ .m2 / settings.xml 配置了<repositories>
和<pluginRepositories>
,用于指向我的repo的快照和版本,它适用于所有依赖项,但是显然不适用于此扩展。
我还没有在maven文档上找到任何有用的东西,因为看起来扩展仍然是#34;太新了&#34;。
我的 {project-root} / .mvn / extensions.xml 如下所示:
<extensions xmlns="http://maven.apache.org/EXTENSIONS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/EXTENSIONS/1.0.0 http://maven.apache.org/xsd/core-extensions-1.0.0.xsd">
<extension>
<groupId>com.blablablah</groupId>
<artifactId>kompile-maven-extension</artifactId>
<version>1.0</version>
</extension>
</extensions>
我还没有修改项目 pom.xml 我一直在关注整个项目的有效pom,当然,中央存储库都是正常的回购和每个模块的插件回购,但总是作为我自己的回购之后的最后一个条目。我还没有找到任何可以解释为什么maven只在maven中心寻找扩展的东西。
我缺少什么?
Maven版本是3.3.9。我也在maven 3.5.0上测试了它。
谢谢!
答案 0 :(得分:1)
对我唯一有效的方法是将存储库添加到settings.xml并将其添加到活动配置文件中:
<settings xmlns="http://maven.apache.org/SETTINGS/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd">
<profiles>
<profile>
<id>tycho-stage</id>
<repositories>
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>oss</id>
<url>https://oss.sonatype.org/content/repositories/orgeclipsetycho-1056</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>oss</id>
<url>https://oss.sonatype.org/content/repositories/orgeclipsetycho-1056</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>tycho-stage</activeProfile>
</activeProfiles>
</settings>