如何构建Google App Engine Java SDK?

时间:2014-10-17 00:27:58

标签: java ant google-app-engine

我已下载Google App Engine的源代码,我想更改此example中使用的某些方法(例如DatastoreService.put(Entity e))的行为:

import com.google.appengine.api.datastore.DatastoreService;
import com.google.appengine.api.datastore.DatastoreServiceFactory;
import com.google.appengine.api.datastore.Entity;
import static com.google.appengine.api.datastore.FetchOptions.Builder.withLimit;
import com.google.appengine.api.datastore.Query;
import com.google.appengine.tools.development.testing.LocalDatastoreServiceTestConfig;
import com.google.appengine.tools.development.testing.LocalServiceTestHelper;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.*;

public class LocalDatastoreTest {

    private final LocalServiceTestHelper helper =
        new LocalServiceTestHelper(new LocalDatastoreServiceTestConfig());

    @Before
    public void setUp() {
        helper.setUp();
    }

    @After
    public void tearDown() {
        helper.tearDown();
    }

    // run this test twice to prove we're not leaking any state across tests
    private void doTest() {
        DatastoreService ds = DatastoreServiceFactory.getDatastoreService();
        assertEquals(0, ds.prepare(new Query("yam")).countEntities(withLimit(10)));
        ds.put(new Entity("yam"));
        ds.put(new Entity("yam"));
        assertEquals(2, ds.prepare(new Query("yam")).countEntities(withLimit(10)));
    }

    @Test
    public void testInsert1() {
        doTest();
    }

    @Test
    public void testInsert2() {
        doTest();
    }
}

问题是我没有看到随源代码提供的build.xml文件对源.java文件进行了任何编译。例如,当我向其中一个源文件添加一些垃圾并尝试使用ant dist构建SDK时,它返回BUILD SUCCESSFUL而不是编译时错误。

我在哪里可以找到put(Entity e)方法的源文件?以及如何编译源代码?

1 个答案:

答案 0 :(得分:0)

您无法对App Engine SDK进行任何更改。 SDK公开与App Engine及其数据存储区的内部操作直接相关并依赖于它的方法。您不应该单独从源代码编译SDK。