Error in Running ArcObjects 10 Application

6441
4
01-10-2011 11:53 AM
JingJin
New Contributor
We installed the ArcGIS 10 development kit for Java and installed the Eclipse ArcObjects plug-in using the update_site folder in %AGSDEVKITJAVA%\java\tools\eclipse_plugin\arcgis_update_site.

The installation is successful. Although, on the edn site, since everything in the Eclipse plugin doc for ArcObjects 10 are in fact for 9.3 plug-ins (http://help.arcgis.com/en/sdk/10.0/java_ao_adf/conceptualhelp/engine/index.html#/Installing_ESRI_Plu...) and most of them do not make any sense for the new 10 plugins, we may have missed certain steps.

When we create an ArcObject project using the default ArcObject project wizard and run the automatically generated "Console.java" program. The following error messages are returned.

We did some google of this error and found the following links (some links are not listed since they are pointing to the same URL.).
http://forums.esri.com/Thread.asp?c=159&f=2267&t=257457#789809
http://resources.arcgis.com/content/kbase?fa=articleShow&d=29348

But they are all about this error in the old versions (9.3 and prior) and none of them really works.


====================================================================
Could not load native libraries.
java.lang.UnsatisfiedLinkError: no ntvinv in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at com.esri.arcgis.interop.NativeLoader.loadLibrary(Unknown Source)
at com.esri.arcgis.system.EngineInitializer.initializeEngine(Unknown Source)
at Console.main(Console.java:45)
java.lang.UnsatisfiedLinkError: no ntvinv in java.library.path
Could not load native libraries.
java.lang.UnsatisfiedLinkError: no ntvinv in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at com.esri.arcgis.interop.NativeLoader.loadLibrary(Unknown Source)
at com.esri.arcgis.interop.NativeObjRef.p(Unknown Source)
at com.esri.arcgis.interop.Dispatch.a(Unknown Source)
at com.esri.arcgis.interop.Dispatch.isNativeMode(Unknown Source)
at com.esri.arcgis.interop.Dispatch.createDispatch(Unknown Source)
at com.esri.arcgis.interop.Dispatch.<init>(Unknown Source)
at com.esri.arcgis.version.IArcGISVersionProxy.<init>(Unknown Source)
at com.esri.arcgis.version.VersionManager.<init>(Unknown Source)
at com.esri.arcgis.version.VersionManager.<init>(Unknown Source)
at com.esri.arcgis.system.EngineInitializer.c(Unknown Source)
at com.esri.arcgis.system.EngineInitializer.initializeEngine(Unknown Source)
at Console.main(Console.java:45)
java.lang.UnsatisfiedLinkError: no ntvinv in java.library.path
java.lang.RuntimeException: Failed to initialize native code invocation: null
at com.esri.arcgis.interop.NativeObjRef.p(Unknown Source)
at com.esri.arcgis.interop.Dispatch.a(Unknown Source)
at com.esri.arcgis.interop.Dispatch.isNativeMode(Unknown Source)
at com.esri.arcgis.interop.Dispatch.createDispatch(Unknown Source)
at com.esri.arcgis.interop.Dispatch.<init>(Unknown Source)
at com.esri.arcgis.version.IArcGISVersionProxy.<init>(Unknown Source)
at com.esri.arcgis.version.VersionManager.<init>(Unknown Source)
at com.esri.arcgis.version.VersionManager.<init>(Unknown Source)
at com.esri.arcgis.system.EngineInitializer.c(Unknown Source)
at com.esri.arcgis.system.EngineInitializer.initializeEngine(Unknown Source)
at Console.main(Console.java:45)
Exception in thread "main" java.lang.RuntimeException: Can not use native code: Initialisation failed
at com.esri.arcgis.interop.NativeObjRef.<init>(Unknown Source)
at com.esri.arcgis.interop.Dispatch.createDispatch(Unknown Source)
at com.esri.arcgis.interop.Dispatch.<init>(Unknown Source)
at com.esri.arcgis.version.IArcGISVersionProxy.<init>(Unknown Source)
at com.esri.arcgis.version.VersionManager.<init>(Unknown Source)
at com.esri.arcgis.version.VersionManager.<init>(Unknown Source)
at com.esri.arcgis.system.EngineInitializer.c(Unknown Source)
at com.esri.arcgis.system.EngineInitializer.initializeEngine(Unknown Source)
at Console.main(Console.java:45)

Console.java:
public class Console {

public static void main(String[] args) {
  EngineInitializer.initializeEngine();
  initializeArcGISLicenses();
}

static void initializeArcGISLicenses() {
  try {
   com.esri.arcgis.system.AoInitialize ao = new com.esri.arcgis.system.AoInitialize();
   if (ao.isProductCodeAvailable(com.esri.arcgis.system.esriLicenseProductCode.esriLicenseProductCodeEngine) == com.esri.arcgis.system.esriLicenseStatus.esriLicenseAvailable)
    ao.initialize(com.esri.arcgis.system.esriLicenseProductCode.esriLicenseProductCodeEngine);
  } catch (Exception e) {
   e.printStackTrace();
  }
}
}
0 Kudos
4 Replies
JingJin
New Contributor
We solved the problem. It may be related to the 64-bit machine we are running and the JVM version.
We downloaded a new Eclipse 64-bit, but used the latest 32-bit JVM according to the following page.
http://resources.arcgis.com/content/arcgissdks/10.0/system-requirements

It works now. Thanks.
0 Kudos
sumanikunada
New Contributor
We get a similar error when trying to run an eclipse application using arcobjects.jar in a plugin project. It was running fine with arcgis 9.3 version, now when we upgrade the arcobjects.jar to version arcgis 10.1. The program fails to run and throws the following error:

Could not load native libraries.java.lang.UnsatisfiedLinkError: no ntvinv in java.library.path
java.lang.UnsatisfiedLinkError: no ntvinv in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1738)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1028)
at com.esri.arcgis.interop.NativeLoader.loadLibrary(Unknown Source)
at com.esri.arcgis.system.EngineInitializer.initializeEngine(Unknown Source)
at gov.la.ocpr.laces.twob.util.dataconverter.util.EsriUtil.initLicense(EsriUtil.java:130)
at gov.la.ocpr.laces.twob.util.dataconverter.application.ApplicationWorkbenchAdvisor.postStartup(ApplicationWorkbenchAdvisor.java:41)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2564)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2427)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:670)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:663)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at gov.la.ocpr.laces.twob.util.dataconverter.application.Application.start(Application.java:26)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
at org.eclipse.equinox.launcher.Main.main(Main.java:1383)
Could not load native libraries.
java.lang.UnsatisfiedLinkError: no ntvinv in java.library.path

Please advise, I checked the system PATH Variable for the %AGSDESKTOPJAVA%\bin.,
Also tried running using ..\ArcGIS\Desktop10.1\java\jre but not much suuccess.

Thanks.
0 Kudos
SachinKanaujia
Occasional Contributor III
There are couple of things you can validate

1) Make sure that the versions of arcobjects being used is the same as the ARCGIS software installed (Desktop/engine). In no way within the plugin or via path you are referring to old arcobjects

2) ARCGISHOME is setup correctly. PATH contains <ARCGISHOME>\bin

3) Make sure that you restart your eclipse for environment settings to reflect or else use the eclipse environment settings.

Hope this helps resolve your problem
0 Kudos
BatbayarBazarragchaa
New Contributor III

It seems like it only supports 32bit JVM. I've installed JDK 1.8 32 bit and the samples are working.

0 Kudos