zoukankan      html  css  js  c++  java
  • Error: java.lang.UnsatisfiedLinkError: no ntvinv in java.library.path

     

     

    Error Message

    When compiling or executing a Java application that uses the ArcObjects Java API, the following error is returned:

    java.lang.UnsatisfiedLinkError: no ntvinv in java.library.path

    Cause

    The PATH variable does not include a directory which contains the native libraries required for ArcObjects Java classes to function.

    Solution or Workaround

    Add the directory that contains the native libraries needed by ArcObjects Java to the PATH variable.

    • On both Windows and Unix platforms, add either of the following directories to the PATH variable:

      A. $AGSDESKTOPJAVAjavajrein
      B. $AGSDESKTOPJAVAin

      Note:
      $ARCENGINEHOME may need to be replaced with the location of the ArcGIS SDK installation.
    • Unix also provides the option of running the ArcEngine helper scripts in $ARCENGINEHOME: init_engine.csh or init_engine.sh.
    • See ArcGIS SDK for Java Environment Settings in the Related Information section below for additional information.

     

    On Windows, you must modify your PATH system variable to include either:

    %AGSDESKTOPJAVA%javajrein %AGSDESKTOPJAVA%in

     1 package com.ys.test;
     2 
     3 //Example 1: Hello ArcObjects!
     4 import java.io.IOException;
     5 import com.esri.arcgis.system.AoInitialize;
     6 import com.esri.arcgis.system.EngineInitializer;
     7 import com.esri.arcgis.system.esriLicenseProductCode;
     8 import com.esri.arcgis.system.esriLicenseStatus;
     9 import com.esri.arcgis.carto.MapServer;
    10 public class EngineHelloWorld{
    11     public static void main(String[] args){
    12         try{
    13             //Step 1: Initialize the Java Componet Object Model (COM) Interop.
    14             EngineInitializer.initializeEngine();
    15 
    16             //Step 2: Initialize an ArcGIS license.
    17             AoInitialize aoInit = new AoInitialize();
    18             initializeArcGISLicenses(aoInit);
    19 
    20             //Step 3: Invoke ArcObjects.
    21             MapServer mapServer = new MapServer();
    22 
    23             String DevKitInstallDir = System.getenv("AGSDESKTOPJAVA");
    24 
    25             mapServer.connect(DevKitInstallDir + 
    26                 "/MapTemplates/Traditional Layouts/World/Europe.mxd");
    27 
    28             String name = mapServer.getDefaultMapName();
    29 
    30             System.out.println("Hello, ArcObjects!: " + name);
    31 
    32             //Step 4: Release the license.
    33             aoInit.shutdown();
    34         }
    35         catch (IOException ex){
    36             System.out.println(ex.getMessage());
    37             System.out.println("App failed.");
    38         }
    39     } //End of method main.
    40 
    41     //License initialization 
    42     static void initializeArcGISLicenses(AoInitialize aoInit){
    43         try{
    44             if (aoInit.isProductCodeAvailable
    45                 (esriLicenseProductCode.esriLicenseProductCodeEngine) ==
    46                 esriLicenseStatus.esriLicenseAvailable){
    47                 aoInit.initialize
    48                     (esriLicenseProductCode.esriLicenseProductCodeEngine);
    49             }
    50             else if (aoInit.isProductCodeAvailable
    51                 (esriLicenseProductCode.esriLicenseProductCodeBasic) ==
    52                 esriLicenseStatus.esriLicenseAvailable){
    53                 aoInit.initialize(esriLicenseProductCode.esriLicenseProductCodeBasic)
    54                     ;
    55             }
    56             else{
    57                 System.err.println(
    58                     "Engine Runtime or Desktop Basic license not initialized.");
    59                 System.err.println("Exiting application.");
    60                 System.exit( - 1);
    61             }
    62         }
    63         catch (Exception e){
    64             e.printStackTrace();
    65         }
    66     } //End of method initializeArcGISLicenses
    67 } //End of class:EngineHelloWorld.
    Hello World

     

    http://desktop.arcgis.com/en/arcobjects/latest/java/

    http://support.esri.com/technical-article/000007942

    http://edndoc.esri.com/arcobjects/9.1/default.asp?URL=/arcobjects/9.1/ArcGISDevHelp/DevelopmentEnvs/Java/JavaArcGISProgramming.htm


  • 相关阅读:
    一个校园互联网实验室的纳新试题(试题整理)
    用CI框架向数据库中实现简单的增删改查
    CodeIgniter框架学习要点
    一个理解PHP面向对象编程(OOP)的实例
    为什么在需要使用‘template as a disambiguator’
    被忽略的class“特殊成员”—转换函数
    C++风格cast的优先级
    printf当前正在处理的格式化符是什么
    C++中模板特殊化(speicialization)的偏序关系及make规则选择
    PhysX中raycast和sweep对block和touch的处理逻辑
  • 原文地址:https://www.cnblogs.com/ys-wuhan/p/5910716.html
Copyright © 2011-2022 走看看