Play框架构建不一致

15

第一次运行activator run时,我遇到了以下堆栈跟踪:

[warn]  [NOT FOUND  ] org.apache.commons#commons-compress;1.7!commons-compress.jar (1ms)
[warn] ==== activator-launcher-local: tried
[warn]   /activator-dist-1.3.9/repository/org.apache.commons/commons-compress/1.7/jars/commons-compress.jar
[warn]  [NOT FOUND  ] org.tukaani#xz;1.4!xz.jar (0ms)
[warn] ==== activator-launcher-local: tried
[warn]   /activator-dist-1.3.9/repository/org.tukaani/xz/1.4/jars/xz.jar
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::              FAILED DOWNLOADS            ::
[warn]  :: ^ see resolution messages for details  ^ ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: org.apache.commons#commons-compress;1.7!commons-compress.jar
[warn]  :: org.tukaani#xz;1.4!xz.jar
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
sbt.ResolveException: download failed: org.apache.commons#commons-compress;1.7!commons-compress.jar
download failed: org.tukaani#xz;1.4!xz.jar
    at sbt.IvyActions$.sbt$IvyActions$$resolve(IvyActions.scala:291)

完整跟踪信息在此处

有时我有机会按下重试,当我这样做时它会成功。 我正在使用docker构建它,并希望每次都能正常工作。

以下是我的配置文件

build.sbt

name := """swsupplymonitor"""

version := "1.0-SNAPSHOT"

libraryDependencies ++= Seq(
  "mysql" % "mysql-connector-java" % "5.1.18",
  "com.typesafe.play" %% "anorm" % "2.4.0",
  "org.scalatest" %% "scalatest" % "2.2.1" % "test",
  "org.scalatestplus" %% "play" % "1.4.0" % "test",
  javaJdbc
)

lazy val root = (project in file(".")).enablePlugins(PlayScala)

build.properties

#Activator-generated Properties
#Tue Jul 07 09:30:59 CEST 2015
template.uuid=f5aa99a5-66e6-4ba6-abda-852c14da8938
sbt.version=0.13.8

插件.sbt

logLevel := Level.Warn


// The Typesafe repository
resolvers += "Typesafe repository" at "https://repo.typesafe.com/typesafe/releases/"

// Use the Play sbt plugin for Play projects
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.3.8")

这是我的 Dockerfile 文件。

FROM java:8
MAINTAINER Nils Eriksson
ENV UPDATED_AT=2016-03-19

RUN apt-get update && apt-get upgrade -y
RUN apt-get install -y curl unzip
RUN curl -o ./activator.zip http://downloads.typesafe.com/typesafe-activator/1.3.9/typesafe-activator-1.3.9.zip
RUN unzip activator.zip -d / && rm activator.zip && chmod a+x /activator-dist-1.3.9/bin
ENV PATH $PATH:/activator-dist-1.3.9/bin

EXPOSE 9000 8888
RUN mkdir /app
WORKDIR /app
COPY ./ .

CMD ["activator", "run"]

我使用以下命令运行:

docker run -di -v $(pwd):/app:rw -p $PORT:9000 --name beacon-backend --link db:db beacon-backend

从错误信息来看,我有印象你是“离线”的,因为没有使用远程仓库来定位依赖项。你确定在启动时Docker有互联网访问吗? - marcospereira
2个回答

1

首先,请检查您的连接。未解决的依赖项下载是因为在解析您的依赖关系时,sbt无法连接到远程存储库进行下载。

如果您通过防火墙连接,请还要检查是否允许连接这些存储库。


-1
在 build.properties 中设置 sbt.version=0.13.11。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接