无法运行样品" BookShelf" Java App Engine应用程序

时间:2018-01-17 00:23:33

标签: java google-app-engine google-cloud-platform

我正在尝试按照https://cloud.google.com/java/getting-started/using-forms?authuser=3

中提到的步骤为Java项目运行appengine

要在本地计算机上运行应用程序,我发出命令:

mvn -Plocal clean jetty:run-exploded -DprojectID=[YOUR-PROJECT-ID]

但我得到以下异常:

java.lang.IllegalStateException: Invalid storage type. Check if bookshelf.storageType property is set.
        at com.example.getstarted.basicactions.ListBookServlet.init(ListBookServlet.java:62)
        at javax.servlet.GenericServlet.init(GenericServlet.java:244)
        at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:637)
        at org.eclipse.jetty.servlet.ServletHolder.initialize(ServletHolder.java:421)
        at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:744)

我尝试了同样的事情GCP Shell,但我得到了同样的例外。 这里可能出现什么问题?

web.xml片段

 <!-- [START config] -->
    <context-param>
        <param-name>bookshelf.storageType</param-name>
        <param-value>${bookshelf.storageType}</param-value>
    </context-param>

pom.xml片段

  <properties>
    <!-- [START config] -->
    <projectID>myProjectID</projectID> <!-- set w/ -DprojectID=myProjectID on command line -->

    <bookshelf.storageType>datastore</bookshelf.storageType>   <!-- datastore or cloudsql -->

    <sql.dbName>bookshelf</sql.dbName>                        <!-- A reasonable default -->
<!-- Instance Connection Name - project:region:dbName -->
<!-- -Dsql.instanceName=localhost to use a local MySQL server -->
    <sql.instanceName>${projectID}:us-central1:${sql.dbName}</sql.instanceName>
    <sql.userName>root</sql.userName>                         <!-- A reasonable default -->
    <sql.password>myRootPassword1234</sql.password> <!-- -Dsql.password=myRootPassword1234 -->
    <!-- [END config] -->

请澄清。 感谢。

1 个答案:

答案 0 :(得分:1)

此问题是由于Github repo(https://github.com/GoogleCloudPlatform/getting-started-java)中的错误引起的。  它现在解决了。如果遇到这种情况,请更新到repo的最新版本。