0

我在 build.sbt 中加入了一个本地 repo 解析器行:

resolvers += "Local Repo" at "file://" + Path.userHome.absolutePath + "/.m2/repository"

我还使用 mvn install 在本地安装了一个文件

mvn org.apache.maven.plugins:maven-install-plugin:2.5.1:install-file  -Dfile=c:\shared\py4j-0.8.1.jar -DgroupId=net.sf.py4j  -DartifactId=py4j -Dversion=0.7 -Dpackaging=jar

在这里我们可以看到该文件已安装到本地 repo 中:

C:\Users\S80035683\.m2\repository\net\sf>dir C:\Users\S80035683\.m2\repository\net\sf\py4j\py4j\0.7\py4j-0.7.pom

 Directory of C:\Users\S80035683\.m2\repository\net\sf\py4j\py4j\0.7

05/13/2014  12:52 PM               457 py4j-0.7.pom

但是在构建过程中找不到该文件:

[warn]  module not found: net.sf.py4j#py4j;0.7
[warn] ==== local: tried
[warn]   C:\Users\S80035683\.ivy2\local\net.sf.py4j\py4j\0.7\ivys\ivy.xml
[warn] ==== public: tried
[warn]   http://repo1.maven.org/maven2/net/sf/py4j/py4j/0.7/py4j-0.7.pom
[warn] ==== Apache repo: tried
[warn]   https://repository.apache.org/content/repositories/releases/net/sf/py4j/py4j/0.7/py4j-0.7.pom
[warn] ==== Cloudera repo: tried
[warn]   https://repository.cloudera.com/artifactory/repo/org/apache/kafka/kafka/0.7.2-spark/net/sf/py4j/py4j/0.7/py4j-0.7.pom
[warn] ==== Local Repo: tried
[warn]   file://C:/Users/S80035683/.m2/repository/net/sf/py4j/py4j/0.7/py4j-0.7.pom

特别注意最后一行:

file://C:/Users/S80035683/.m2/repository/net/sf/py4j/py4j/0.7/py4j-0.7.pom

这与我们之前安装的路径相同 - 即文件确实存在

C:\Users\S80035683\.m2\repository\net\sf>dir C:\Users\S80035683\.m2\repository\net\sf\py4j\py4j\0.7\py4j-0.7.pom

 Directory of C:\Users\S80035683\.m2\repository\net\sf\py4j\py4j\0.7

05/13/2014  12:52 PM               457 py4j-0.7.pom
4

1 回答 1

0

该问题是特定于 Windows 的。还有一个问题对如何解决有帮助。

SBT 在本地 maven 存储库中找不到文件,尽管它在那里

具体可以使用以下三种解决方法之一:

file:// needs to be file:///

(这是特定于Windows的..)

或:更好的/便携式解决方案:

resolvers += Resolver.mavenLocal

或者

resolvers += "Local Maven Repository" at "file:///"+Path.userHome+"/.m2/repository"
于 2014-05-13T20:37:15.850 回答