2

言語: - Java 1.7
環境: - Eclipse IDE Kepler

要件: - Javaアプリケーションからのデータ取得に関するものです。GAE で正常に動作する Web アプリケーションを作成しました。ここで、アプリケーション コードをメインから実行し、Data Store に保存されている日付を取得する必要があります。コア Java アプリケーションからデータを取得する必要があります。

import java.util.List; 
import com.google.appengine.api.datastore.Entity; 
import com.google.appengine.api.datastore.PreparedQuery; 
import com.google.appengine.api.datastore.Query; 
import com.google.appengine.api.datastore.Query.FilterOperator; 
import com.google.appengine.api.datastore.DatastoreService; 
import com.google.appengine.api.datastore.DatastoreServiceFactory; 
import com.google.appengine.api.datastore.FetchOptions; 

public static void main(String[] args)
    {
        DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
        Query query = new Query("SMS").addSort("Date", Query.SortDirection.DESCENDING);
        List<Entity> customers =  datastore.prepare(query).asList(FetchOptions.Builder.withLimit(50));

        for(Entity e : customers){

            System.out.println("Service: - " + e.getProperty("Service") );
            System.out.println("UserName: - " + e.getProperty("UserName") );
            System.out.println("QueryString: - " + e.getProperty("QueryString") );
            System.out.println("EmailId: - " + e.getProperty("EmailId") );
            System.out.println("MobileHashFormat: - " + e.getProperty("MobileHashFormat") );
            System.out.println("Date: - " + e.getProperty("Date") );
            System.out.println("Status: - " + e.getProperty("Status") );




            }
        }

例外: -

スレッド「メイン」での例外 java.lang.NullPointerException: このスレッドには API 環境が登録されていません。com.google.appengine.api.datastore.DatastoreApiHelper.getCurrentAppId(DatastoreApiHelper.java:86) で com.google.appengine.api.datastore.DatastoreApiHelper.getCurrentAppIdNamespace(DatastoreApiHelper.java:102) で com.google.appengine.api .datastore.Query.(Query.java:215) at com.google.appengine.api.datastore.Query.(Query.java:144) at serive.TestGAEFile.main(TestGAEFile.java:17)

4

2 に答える 2

3

コマンド ラインから何かを実行しようとする場合、Google App Engine は、API を希望どおりに動作させるのに十分なサービスを備えたローカル環境をセットアップするために多くの作業を行う必要があることを理解する必要があります。

このローカルな方法でのテストを容易にするには、ローカル ユニット テスト機能について読む必要があります。https://developers.google.com/appengine/docs/java/tools/localunittesting?csw=1を確認すると、追加の JAR が必要になり、環境をセットアップする LocalTesting Helper クラスを使用できます。

于 2014-02-14T14:16:41.120 に答える
0

public static void main() からは機能しません。この同じエラーが発生したときに試したサーブレットから動作します。幸運を。

于 2014-10-27T02:18:12.777 に答える