使用 Maven 构建 Mavenized jCuda

Building Mavenized jCuda with maven

好吧,我已经成功安装了 Nvidia 驱动程序和 cuda 7 并且已经构建 运行 许多 eclipse.

中的 jcuda(非 mavenized)项目

但我想迁移到mavenized 版本一。 因此,我克隆了 this 存储库并尝试构建它。我在 Ubuntu 14.04 x64 上,我也设置了 nexus。但是当我想用 mvn clean package 我知道了:

Downloading: http://localhost:8081/nexus/content/groups/public/jcuda/jcublas/0.7.0a/jcublas-0.7.0a.pom [WARNING] The POM for jcuda:jcublas:jar:0.7.0a is missing, no dependency information available

所有 *.poms

在这些警告之后,构建未成功完成:

Could not resolve dependencies for project org.mystic:mavenized- jcuda:jar:0.1.2: The following artifacts could not be resolved: jcuda:jcublas:jar:0.7.0a, jcuda:jcuda:jar:0.7.0a ...

它列出了所有的 jcuda *.jars 和 *.sos

我是不是忘记了什么?

更新:

我将选项 -Dmaven.repo.local=repomvn clean package 一起使用,一切正常。

是的,我 80% 确定这是因为您的本地 Nexus

未能在http://localhost:8081/nexus/content/groups/public中找到jcuda:jcublas:jar:0.7.0a被缓存在本地存储库中,直到nexus的更新间隔结束或更新结束后才会重新尝试解析force取自您的日志文件

你能把它关掉吗?它应该可以解决问题。

P.S。 mavenized-jcuda 项目的当前情况是,它从本地 repo 获取工件,因为这些工件没有出现在 Maven Central 或其他托管存储库中。

这是 nexus 问题。而且我想出比关闭它更好的方法。

在 maven settings.xml (~/.m2/settings.xml) 中,* 的 mirrorOf 模式导致任何存储库请求被重定向到该镜像并我的单个存储库组。另一个选项是 external:*,它匹配除使用本地主机或基于文件的存储库之外的所有存储库。

external:* 代替 * 解决了我的问题。