Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
google地图引擎java.lang.NoClassDefFoundError_Java_Google App Engine - Fatal编程技术网

google地图引擎java.lang.NoClassDefFoundError

google地图引擎java.lang.NoClassDefFoundError,java,google-app-engine,Java,Google App Engine,我想在我的java项目中使用GoogleMaps引擎来获取两个位置之间的距离。我开发了一个hello world代码只是为了测试引擎,但在运行我的项目时,我遇到了一个奇怪的错误 这是我的密码 import com.google.api.client.http.HttpTransport; import com.google.api.client.http.javanet.NetHttpTransport; import com.google.api.client.json.JsonFactory

我想在我的java项目中使用GoogleMaps引擎来获取两个位置之间的距离。我开发了一个hello world代码只是为了测试引擎,但在运行我的项目时,我遇到了一个奇怪的错误

这是我的密码

import com.google.api.client.http.HttpTransport;
import com.google.api.client.http.javanet.NetHttpTransport;
import com.google.api.client.json.JsonFactory;
import com.google.api.client.json.gson.GsonFactory;
import com.google.api.services.mapsengine.MapsEngine;
import com.google.api.services.mapsengine.MapsEngineRequestInitializer;
import com.google.api.services.mapsengine.model.Feature;
import com.google.api.services.mapsengine.model.FeaturesListResponse;
import com.google.api.services.mapsengine.model.GeoJsonPoint;

import java.io.IOException;

/** Java "Hello, world!" example using the client library */
public class ComputeDistance {

static final String SAMPLE_TABLE_ID = "12421761926155747447-06672618218968397709";
static final String PUBLIC_API_KEY = "YOUR_API_KEY_GOES_HERE";

public static void main(String[] args) throws Exception {
HttpTransport transport = new NetHttpTransport();
JsonFactory jsonFactory = new GsonFactory();

// This request initializer will ensure the API key is sent with every HTTP request.
MapsEngineRequestInitializer apiKeyInitializer =
    new MapsEngineRequestInitializer(PUBLIC_API_KEY);

MapsEngine engine = new MapsEngine.Builder(transport, jsonFactory, null)
    .setMapsEngineRequestInitializer(apiKeyInitializer)
    .setApplicationName("Google-MapsEngineSample/1.0")
    .build();

readFeaturesFromTable(engine);
 }

 public static void readFeaturesFromTable(MapsEngine me) throws IOException {
// Query the table for offices in WA that are within 100km of Perth.
FeaturesListResponse featResp =  me.tables().features().list(SAMPLE_TABLE_ID)
    .setVersion("published")
    .setWhere("State='WA' AND ST_DISTANCE(geometry,ST_POINT(115.8589,-31.9522)) < 100000")
    .execute();

for (Feature feat : featResp.getFeatures()) {
  System.out.println(
      "Properties: " + feat.getProperties().toString() + "\n\t" +
      "Name: " + feat.getProperties().get("Fcilty_nam") + "\n\t" +
      "Geometry Type: " + feat.getGeometry().getType());

  if (feat.getGeometry() instanceof GeoJsonPoint)  {
    GeoJsonPoint point = (GeoJsonPoint) feat.getGeometry();
    System.out.println("\t" +
        "Longitude: " + point.getCoordinates().get(0) + ", " +
        "Latitude: " +  point.getCoordinates().get(1));
  } else {
    System.out.println("Only points are expected in this table!");
    return;
  }
}
 }
}

看起来您可能有一些不正常的依赖关系。如果是这样的话,它们在编译时可能不可用。。。你添加了jar文件了吗?如果是的话,把它移到类路径中的其他文件之前。谢谢,我没有实际地将jar文件粘贴到系统“ext”库中。
 Exception in thread "main" java.lang.NoClassDefFoundError: com/google/api/client/googleapis/services/json/AbstractGoogleJsonClient
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at java.lang.ClassLoader.loadClass(ClassLoader.java:412)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2570)
at java.lang.Class.getMethod0(Class.java:2813)
at java.lang.Class.getMethod(Class.java:1663)
at sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:494)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:486)
 Caused by: java.lang.ClassNotFoundException:   com.google.api.client.googleapis.services.json.AbstractGoogleJsonClient
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 19 more