2

While importing my scala sbt project to intellij i get the following error

Error while importing SBT project: ... 
[info] Loading project definition from /home/dnilesh/Desktop/app-engine/sbt-appengine-demo-master/project
java.lang.RuntimeException: You need to set APPENGINE_SDK_HOME
at scala.sys.package$.error(package.scala:27)
at sbtappengine.Plugin$AppEngine$.buildAppengineSdkPath(AppenginePlugin.scala:103)
at sbtappengine.Plugin$$anonfun$baseAppengineSettings$33.apply(AppenginePlugin.scala:219)
at sbtappengine.Plugin$$anonfun$baseAppengineSettings$33.apply(AppenginePlugin.scala:219)
at sbt.Init$Value$$anonfun$apply$13.apply(Settings.scala:604)
at sbt.EvaluateSettings$$anonfun$sbt$EvaluateSettings$$constant$1.apply(INode.scala:163)
at sbt.EvaluateSettings$$anonfun$sbt$EvaluateSettings$$constant$1.apply(INode.scala:163)
at sbt.EvaluateSettings$MixedNode.evaluate0(INode.scala:175)
at sbt.EvaluateSettings$INode.evaluate(INode.scala:135)
at sbt.EvaluateSettings$$anonfun$sbt$EvaluateSettings$$submitEvaluate$1.apply$mcV$sp(INode.scala:69)
at sbt.EvaluateSettings.sbt$EvaluateSettings$$run0(INode.scala:78)
at sbt.EvaluateSettings$$anon$3.run(INode.scala:74)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
[error] You need to set APPENGINE_SDK_HOME
[error] Use 'last' for the full log.
Invalid response.
 See complete log in file:/home/dnilesh/.IdeaIC2017.2/system/log/sbt.last.log  Consult IDE log for more details (Help | Show Log)

and while deploying same app to google app engine from terminal i get the same error after that, In terminal i set APPENGINE_SDK_HOME to my google cloud installation directory /usr/lib/google-cloud-sdk/platform/google_appengine/. then i get the following error.

So how can i set APPENGINE_SDK_HOME and to which path so that sbt appengineDeploy command will work.

root@dnilesh-pc:/home/dnilesh/Desktop/app-engine/sbt-appengine-demo-master# sbt appengineDeploy
[info] Loading project definition from /home/dnilesh/Desktop/app-engine/sbt-appengine-demo-master/project
java.lang.RuntimeException: not found appengine api jar.
    at scala.sys.package$.error(package.scala:27)
    at sbtappengine.Plugin$AppEngine$.buildSdkVersion(AppenginePlugin.scala:114)
    at sbtappengine.Plugin$$anonfun$baseAppengineSettings$32.apply(AppenginePlugin.scala:218)
    at sbtappengine.Plugin$$anonfun$baseAppengineSettings$32.apply(AppenginePlugin.scala:218)
    at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
    at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
    at sbt.EvaluateSettings$MixedNode.evaluate0(INode.scala:175)
    at sbt.EvaluateSettings$INode.evaluate(INode.scala:135)
    at sbt.EvaluateSettings$$anonfun$sbt$EvaluateSettings$$submitEvaluate$1.apply$mcV$sp(INode.scala:69)
    at sbt.EvaluateSettings.sbt$EvaluateSettings$$run0(INode.scala:78)
    at sbt.EvaluateSettings$$anon$3.run(INode.scala:74)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
[error] not found appengine api jar.
[error] Use 'last' for the full log.
Nilesh
  • 2,054
  • 3
  • 23
  • 43
  • what will be path for APPENGINE_SDK_HOME or how can i set it. https://github.com/jasonmar/sbt-appengine-demo#setup – Nilesh Jul 27 '17 at 10:22
  • `APPENGINE_SDK_HOME` *might* be referring to the GAE SDK, not the GCloud one, see https://stackoverflow.com/questions/33769879/what-is-the-relationship-between-googles-app-engine-sdk-and-cloud-sdk/33770297#33770297. Check if it's the case and, if so, install the GAE SDK as well. At least on Linux both SDKs can coexist on the same system. – Dan Cornilescu Jul 27 '17 at 15:37

1 Answers1

1

Steps I did to sort out this issue:

  1. Download the App Engine SDK for Java: Google App Engine

Direct Download Link

  1. Extract it in your computer regardless your GCloud installed path.

  2. set APPENGINE_SDK_HOME :

    export APPENGINE_SDK_HOME= /PATH/TO/SDK/appengine-java-sdk-1.9.54

  3. Download Sample Scala sbt application. Github Sample Scala App

  4. run sbt appengineDeploy command to run app. change project id to your project id on google cloud. Steps before running app

Notes:

  1. You cannot install third party databases like mongodb on gae.

  2. gae does not support akka framework.

  3. gae does not support multithreading.

Nilesh
  • 2,054
  • 3
  • 23
  • 43
  • Is it possible to use akka framework in APP engine flexible mode ? – Rumesh Krishnan Aug 29 '19 at 13:59
  • @RumeshKrishnan yes, you can run stateless web app you want on App Engine flexible environment since it runs a Docker container for you, and you can put whatever you want in that container for the most part. – jon_wu Dec 19 '19 at 01:49