0

我们为所有依赖项使用本地关系镜像。
我在其中一个项目中需要以下依赖项:

<depedency>
    <groupId>com.smartgwt</groupId>
    <artifactId>smartgwt</artifactId>
    <version>3.0</version>
</depedency>

从存储库:http ://www.smartclient.com/maven2

但是 maven 给我一个错误,说“找不到 com.smartgwt:smartgwt:jar:3.0”。
可能是什么问题,我该如何解决?

(也许这是一个非常微不足道的问题,但我对 Maven 相当陌生)

4

1 回答 1

1

我假设 Nexus 适用于托管在 Maven Central 上的所有标准依赖项。

-X您可以通过在构建时使用参数打开调试来确定 Maven 从哪里下载。会有很多噪音,但是如果你看上面几行,你的构建由于找不到依赖项而失败,它会告诉你:

  • 它试图下载依赖项的位置
  • 是否使用镜子
  • 下载时是否有任何 HTTP 错误代码

如何http://www.smartclient.com/maven2在您的 Nexus 代理中设置?作为单独的代理存储库?Nexus 可以访问这个 repo(它是“服务中”并且没有被阻止)吗?


Nexus 中的此存储库是否已添加到“公共”组?如果你不想要这个,那么:

您必须在 settings.xml 中为此存储库配置一个单独的镜像,该镜像指向 Nexus 中的 URL。

还要检查您是否在 POM 中添加了存储库,例如

<project>
...
    <repositories>
        <repository>
            <id>smartclient</id>
            <name>SmartClient Maven Repository</name>
            <url>http://www.smartclient.com/maven2/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>
...
</project>

然后在您的 settings.xml 中为此存储库配置一个代理条目:

<settings>
...
    <mirrors>
        <mirror>
            <id>smartclient-nexus-proxy</id>
            <mirrorOf>smartclient</mirrorOf>
            <url><url of your smartclient proxy repository in Nexus></url>
        </mirror>
    ...
于 2012-12-14T04:29:09.127 回答