質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Play Framework

Play Frameworkは、現代の web アプリケーション開発に必要なコンポーネント及び API を統合した生産性の高い Java と Scala の web アプリケーションフレームワークです。

IntelliJ IDEA

IntelliJ IDEA(インテリジェイ アイディア)は、JetBrains社が開発した、 JavaやScalaなどで利用される統合開発環境です。

Q&A

解決済

2回答

4714閲覧

Intelli J IDEAでPlay Frameworkを動かしたいがUnable to load cache itemとなる

meex

総合スコア71

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Play Framework

Play Frameworkは、現代の web アプリケーション開発に必要なコンポーネント及び API を統合した生産性の高い Java と Scala の web アプリケーションフレームワークです。

IntelliJ IDEA

IntelliJ IDEA(インテリジェイ アイディア)は、JetBrains社が開発した、 JavaやScalaなどで利用される統合開発環境です。

0グッド

0クリップ

投稿2021/04/29 07:27

◆実行環境
HP Desktop / Windows10 64 bit

◆目的
Intelli JでPlay Frameworkを使い、Webアプリの開発を勉強中です。
今のところの最終目的は、「Play Frameworkを動かし、初期ページを表示したい」です。
➡「Hello world」ページの表示

◆やったこと
・Java8をインストール
・Intelli J IDEA 2021.1 x64をインストール(Ultimate版)
・sbt-1.5.1.msiをインストール(https://www.scala-sbt.org/download.html

そのうえで、下記サイトを見て、
「初回実行
一度この状態で起動してみます。
sbt runコマンドを実行し、ブラウザでlocalhost:9000にアクセスします。」

まで進めました。
【Play超入門】Play FrameworkでWeb APIを作る 導入編【Scala】

◆疑問点/詰まっているところ
「sbt run」としたところ下記のエラーが出ました。

Unexpected exception UncheckedExecutionException: java.lang.IllegalStateException: Unable to load cache item No source available, here is the exception stack trace: ->com.google.common.util.concurrent.UncheckedExecutionException: java.lang.IllegalStateException: Unable to load cache item com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2051) com.google.common.cache.LocalCache.get(LocalCache.java:3951) com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3974) com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4958) com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4964) com.google.inject.internal.FailableCache.get(FailableCache.java:54) com.google.inject.internal.ConstructorInjectorStore.get(ConstructorInjectorStore.java:49) com.google.inject.internal.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java:155) com.google.inject.internal.InjectorImpl.initializeBinding(InjectorImpl.java:592) com.google.inject.internal.AbstractBindingProcessor$Processor.initializeBinding(AbstractBindingProcessor.java:173) com.google.inject.internal.AbstractBindingProcessor$Processor.lambda$scheduleInitialization$0(AbstractBindingProcessor.java:160) com.google.inject.internal.ProcessedBindingData.initializeBindings(ProcessedBindingData.java:49) com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:124) com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:108) com.google.inject.Guice.createInjector(Guice.java:87) com.google.inject.Guice.createInjector(Guice.java:78) play.api.inject.guice.GuiceBuilder.injector(GuiceInjectorBuilder.scala:200) play.api.inject.guice.GuiceApplicationBuilder.build(GuiceApplicationBuilder.scala:155) play.api.inject.guice.GuiceApplicationLoader.load(GuiceApplicationLoader.scala:21) play.core.server.DevServerStart$$anon$1.$anonfun$reload$2(DevServerStart.scala:193) play.utils.Threads$.withContextClassLoader(Threads.scala:22)

◆調べたこと/トライしたこと
1.https://stackoverflow.com/questions/36612603/play-framework-execution-exception
こちらを参考にbuild.sbtを編集(記載されたとおりに書き加え)
2.sbt updateをして、最新化
3.scala/javaの両方でプロジェクト立ち上げ~起動まで実施

いずれも、だめで同エラーが出ました。。。

解決方法がいまだ見えず、熟達者様から見たら稚拙な質問に見えるかもしれません。
大変恐縮ではございますが、ぜひお知恵を拝借いたしたいです。
どのようにすればこのエラーが取れ、Play FrameworkのHello world画面(初期起動ページ)を表示できるのでしょうか?イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

>>2021年7月7日追記:
時間がなく、今まで触れていませんでしたが、本日回答いただいたように修正してみました。しかし結果は分からずでした。。。

そのため。、「https://stackoverflow.com/questions/44438848/maven-crashes-when-trying-to-compile-a-project-error-executing-maven」にあるように、javaバージョンを16をアンインストールし、⇒8(https://www.java.com/ja/download/ie_manual.jsp)をインストールしたところ、【Welcome to Play!】という表示が出るようになりました!

投稿2021/07/07 14:40

meex

総合スコア71

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

見つけるのが遅くなってしまってずいぶん時間がたってしまったのですでに解決済みかもしれませんが回答させていただきます。

解決方法

Qiita の内容通りでよければ、
ソースコードは Scala の状態で、
build.sbt に再度以下の内容に修正して、sbt run すれば起動するかと思われます

name := """play-api-sample""" organization := "com.example" version := "1.0-SNAPSHOT" lazy val root = (project in file(".")).enablePlugins(PlayScala) scalaVersion := "2.13.6" libraryDependencies += guice libraryDependencies += "org.scalatestplus.play" %% "scalatestplus-play" % "5.0.0" % Test

何をしているかというと、sbt new playframework/play-scala-seed.g8 を実行したときに
以下のテンプレートを引っ張ってくるのですが、再度それを使用してあげれば起動すると思われます。
https://github.com/playframework/play-scala-seed.g8/blob/2.8.x/src/main/g8/build.sbt#L4-L11

g8 テンプレートは特に変更せずに、そのまま起動することができる状態にしてありますので、
起動したいだけであれば、そのまま使用して sbt run してあげてください。

エラーの考察

libraryDependenciescache を入れておられますが
これを動かすための cache ライブラリの設定が初期状態でははいっておらずにエラーになったものと思います。

stackover flow の設定をまねされたとのことですが、
g8 テンプレートがScala のものだったのに、java の設定前提のものを使ったので設定があわなくなっているからというのと、
内容が古くて動作設定がよくないのだと思われます。

内容の何が古いかというと、この cache ですが
play 2.6 から廃止された設定でもありますし、(現在の play 2.8 では ehcache, jcache などを使うべきかと)
キャッシュを使いたい場合でも別の設定方法を利用した方がよい気がします。
https://github.com/playframework/playframework/blob/0b96515025ab405e9f9b0b51e374bbf6a00c8a29/dev-mode/sbt-plugin/src/main/scala/play/sbt/PlayImport.scala#L62

投稿2021/05/27 15:50

kiino

総合スコア557

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meex

2021/05/31 14:16

そういうことでしたか、原因が分かり大変嬉しく思います。 また、本質問を見つけていただき、詳しく回答いただきとても嬉しく思います。 大変助かりました!ありがとうございました????
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問