Google API java.lang.UnsatisfiedLinkError异常

时间:2011-11-30 05:00:21

标签: java exception google-maps

我有兴趣创建一个纯粹的独立Java应用程序(没有Applet,没有JSP),它有一个 TEXTBOX ,它接收一个地址并将其划分为城市,州,邮编,国家使用 Google Api 。 为此,我创建了一个完全相同的 net beans 项目,但如果我想这样创建:

GClientGeocoder gc=GClientGeocoder.create();
gc.getLocations(add,this);

它显示 java.lang.UnsatisfiedLinkError

现在类定义是这样的:

public class GoogleApiView extends FrameView implements GGeocodeAdvancedResultListener{
    bla bla bla.................
}

如果我评论 GclientGeocoder 的代码,则不会发出异常。 同样重要的是我希望这段代码能够完美地运行,因为它只能以州,城市,邮编,国家的形式为我提供地址。

我该怎么做才能删除此例外。

Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: com.mapitz.gwt.googleMaps.client.GClientGeocoderImpl.create()Lcom/mapitz/gwt/googleMaps/client/GClientGeocoder;
at com.mapitz.gwt.googleMaps.client.GClientGeocoderImpl.create(Native Method)
at com.mapitz.gwt.googleMaps.client.GClientGeocoder.create(GClientGeocoder.java:36)
at googleapi.GoogleApiView.btnOkActionPerformed(GoogleApiView.java:281)
at googleapi.GoogleApiView.access$800(GoogleApiView.java:34)
at googleapi.GoogleApiView$4.actionPerformed(GoogleApiView.java:164)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
at java.awt.Component.processMouseEvent(Component.java:6267)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6032)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

1 个答案:

答案 0 :(得分:0)

你在运行这个环境的哪个环境?只是在Web上进行常规轮次,看起来当JVM尝试运行create()方法时,某些操作系统特定的(原生于该环境)被调用并随后死亡

<强> UnsatifiedLinkError

  

如果Java虚拟机无法找到声明为native的方法的适当本机语言定义,则抛出该文件。

您可能需要完全设置环境或阅读API规范并确定支持的本机环境。您可能只是缺少一些需要作为构建过程的一部分包含的文件。

以下链接提供了有关GClientGeocoder API http://code.google.com/apis/maps/documentation/javascript/v2/reference.html#GClientGeocoder的更多详细信息,并建议使用HTTP Geocoder作为替代方案。