2017-07-27 153 views
0

在導入我的斯卡拉SBT項目的IntelliJ我得到以下錯誤部署斯卡拉SBT Google App Engine的

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) 

,並在部署相同的應用程序從終端Google App Engine的,我得到了同樣的錯誤後,在終端我設置APPENGINE_SDK_HOME到我的谷歌雲安裝目錄/usr/lib/google-cloud-sdk/platform/google_appengine/。那麼我得到以下錯誤。

那麼我如何設置APPENGINE_SDK_HOME和哪個路徑,以便sbt appengineDeploy命令可以工作。

[email protected]:/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. 
+0

什麼是APPENGINE_SDK_HOME的路徑,或者如何設置它。 https://github.com/jasonmar/sbt-appengine-demo#setup – Nilesh

+0

'APPENGINE_SDK_HOME' *可能指的是GAE SDK,而不是GCloud,請參閱https://stackoverflow.com/questions/33769879/what -is最關係-間谷歌應用程式發動機-SDK-和雲的SDK/33770297#33770297。檢查是否屬實,如果是這樣,請安裝GAE SDK。至少在Linux上,兩個SDK可以在同一個系統上共存。 –

回答

0

步驟我沒弄清楚這個問題:

  1. 下載App Engine SDK的Java: Google App Engine

Direct Download Link

  • 無論您的GCloud insta如何將其解壓到您的計算機中路徑。

  • 集APPENGINE_SDK_HOME:

    出口APPENGINE_SDK_HOME = /PATH/TO/SDK/appengine-java-sdk-1.9.54

  • 樣本下載斯卡拉SBT應用。 Github Sample Scala App

  • 運行sbt appengineDeploy命令運行應用程序。在Google雲上將項目ID更改爲您的項目ID。 Steps before running app

  • 注:

    1. 不能安裝第三方數據庫,如在GAE上的MongoDB。

    2. gae不支持akka框架。

    3. gae不支持多線程。