LoginSignup
7
0

More than 5 years have passed since last update.

PlayFramework2.6 + IntelliJ で開発しようとしたら、パッケージダウンロードで失敗した

Last updated at Posted at 2018-03-28

概要

Scala + Play でアプリを作ってみようとしたら、


[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::              FAILED DOWNLOADS            ::
[warn]  :: ^ see resolution messages for details  ^ ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: com.typesafe.sbt#sbt-web;1.4.3!sbt-web.jar(doc)
[warn]  :: com.typesafe.sbt#sbt-web;1.4.3!sbt-web.jar(src)
[warn]  :: com.typesafe.sbt#sbt-native-packager;1.3.2!sbt-native-packager.jar(src)
[warn]  :: com.typesafe.sbt#sbt-native-packager;1.3.2!sbt-native-packager.jar(doc)
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[error] sbt.librarymanagement.ResolveException: download failed: com.typesafe.sbt#sbt-web;1.4.3!sbt-web.jar(doc)
[error] download failed: com.typesafe.sbt#sbt-web;1.4.3!sbt-web.jar(src)
[error] download failed: com.typesafe.sbt#sbt-native-packager;1.3.2!sbt-native-packager.jar(src)
[error] download failed: com.typesafe.sbt#sbt-native-packager;1.3.2!sbt-native-packager.jar(doc)

↑みたいなエラーが出て、最初の依存関係解決に失敗し、2日ほどハマった。
以下、今回のケースでの解決手順。

環境およびバージョン情報

  • OS: OS X Yosemite
  • sbt: 1.1.2
  • scala: 2.12.4
  • play: 2.6.12
  • IntelliJ: IntelliJ Community 2017.3.5

環境構築でやったこと

各種ツールのインストール手順は省略。

  1. sbtインストール
  2. IntelliJインストール
  3. sbt new playframework/play-scala-seed.g81で、playアプリの雛形を作成
  4. IntelliJで、作成した雛形をプロジェクトとしてインポート
  5. 概要のエラーが発生し、プロジェクトのインポート失敗

解決方法

download failed: com.typesafe.sbtというエラーメッセージを見る限り、依存関係の衝突とかややこしい問題ではなく、単純にダウンロード失敗しているっぽい。
ネットワークの問題ではなさそうだった(ブラウザとかcurlとかは使えた)ので、何かしらツールの問題を疑った。

上記エラーメッセージでググってみたところ、まさに同じエラー内容でIssueが上がっていた。
https://github.com/sbt/sbt-native-packager/issues/1063

内容をおっかけたところ、どうやらsbt側にバグがあって、それを解消するためのワークアラウンドが必要っぽい。

sbt-native-packagerのIssueでは「resolvers += Resolver.sbtPluginRepo("releases")を入れればおk」的なことが書かれているが、「どこに書けば良いのか」が明記されていない。
→どうやら、build.sbtに入れれば良さげ。

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

scalaVersion := "2.12.4"
resolvers += Resolver.sbtPluginRepo("releases") // ←追加部分

libraryDependencies += guice
libraryDependencies += "org.scalatestplus.play" %% "scalatestplus-play" % "3.1.2" % Test

自分の場合は、scalaVersionの直後に入れたら、IntelliJでのインポートが成功した。
この場所じゃないとダメなのか、どこでも良いのかまでは確認していない。


  1. activatorはEOLを迎えたらしいので、sbt + giter8テンプレートで生成している。 

7
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
0