【发布时间】:2017-01-30 20:32:55
【问题描述】:
我已经成功地为play-java 构建了我的 docker 镜像。但是在尝试使用docker run -p 0.0.0.0:9000:9000 egima/play activator run sbt 为它生成一个容器时,sbt 无法下载一个特定的依赖项。日志如下所示:
==== Maven2 Local: tried
file:/root/.m2/repository/org/sonatype/sisu/sisu-guice/3.1.0/sisu-guice-3.1.0.jar
==== Apache Repository: tried https://repository.apache.org/content/repositories/releases/org/sonatype/sisu/sisu-guice/3.1.0/sisu-guice-3.1.0.jar[0m
::::::::::::::::::::::::::::::::::::::::::::::
:: FAILED DOWNLOADS ::
:: ^ see resolution messages for details ^ ::
::::::::::::::::::::::::::::::::::::::::::::::
:: org.sonatype.sisu#sisu-guice;3.1.0!sisu-guice.jar
::::::::::::::::::::::::::::::::::::::::::::::
注意tried 存储库。我已关注 all the different variants 在我的机器上包含 local maven 存储库,我从日志中确认 sbt 根据我在本地 maven 存储库中指定的内容进行检查,但没有运气。
我在build.sbt 和/project/plugins.sbt 中的解析器:
resolvers ++=Seq(
Resolver.sonatypeRepo("public"),
Resolver.mavenLocal,
"Apache Repository" at "https://repository.apache.org/content/repositories/releases/"
)
我还检查了我的本地 maven 存储库,以确保存在缺少的依赖项。缺少什么?
【问题讨论】:
-
/root/.m2?为什么要使用 root 帐户?
-
@VonC,该路径由
sbt自动从Resolver.mavenLocal转换。我还尝试了链接问题中对其他人有用的路径,但仍然没有运气。 -
当然:它解析为 $HOME/.m2。那个文件夹是空的吗?它不应该包含一些元素吗?您是否有应该共享的本地 .m2 文件夹 (-v)?
-
在 Windows 中,我有
C:\Users\me\.m2\repository,不确定/root/.m2sbt 是否表示C:\Users\me\.m2。但是我给出的主机路径非常有效,并且存储了我所有的 Maven 工件。 -
尝试,在您的 dockerfile 中添加一个
RUN ln -s /C/Users/me/.m2 /root/.m2:重建映像并重新启动容器。
标签: windows maven docker playframework sbt