我正在尝试在Mac OS中使用Gdal Library和Java。但我是目标新手,我无法让它发挥作用。
另外,我正在和Maven一起工作。所以我在pom.xml上添加了这种依赖
<dependency>
<groupId>org.gdal</groupId>
<artifactId>gdal</artifactId>
<version>2.1.0</version>
</dependency>
为了在Eclipse上测试它,我创建了一个简单的类,如下所示:
import org.gdal.gdal.gdal;
import org.gdal.gdalconst.gdalconstConstants;
import org.gdal.ogr.ogr;
public class test {
public static void main(String[] args) {
gdal.AllRegister();
}
}
当我执行时,我面临以下错误:
本机库加载失败。 java.lang.UnsatisfiedLinkError:java.library.path中没有ogrjni
我试着整天修好但没有成功。我只想知道一种简单的方法将Gdal执行到Eclipse中。
PS:我可以在终端上成功运行Gdal
答案 0 :(得分:0)
运行java时需要设置java.library.path系统属性。它必须指向包含gdal共享库的目录。我还发现您可能还需要设置DYLD_LIBRARY_PATH或DYLD_FALLBACK_LIBRARY_PATH环境变量。
我通过自制软件安装了gdal,这就是我的工作:
export DYLD_FALLBACK_LIBRARY_PATH=/usr/local/opt/gdal/lib
java -Djava.library.path=/usr/local/opt/gdal/lib -cp gdal.jar ...
答案 1 :(得分:0)
确保已使用java和swig-java参数安装gdal。
brew install gdal --with-java --with-swig-java
ps:在运行上述命令之前删除当前的gdal安装。
您可能需要一些额外的参数。使用
检查所有参数brew info gdal
另外,您可以查看下面提供的参数。
<强> - 与-犰狳强>
使用Armadillo构建加速TPS转换。
<强> - 与完成强>
使用其他Homebrew库提供更多驱动程序。
<强> - 用Java的强>
使用java支持构建
<强> - 与-libkml 强>
使用Google的libkml驱动程序构建(需要libkml --HEAD或&gt; = 1.3)
<强> - 与-MDB 强>
使用Access MDB驱动程序构建(需要来自Apple或Oracle的Java 1.6+ JDK / JRE)。
<强> - 与MySQL的强>
使用mysql支持构建
<强> - 与-的OpenCL 强>
使用OpenCL加速构建。
<强> - 与-PostgreSQL的强>
使用postgresql支持构建
<强> - 与-python3 强>
使用python3支持构建
<强> - 与-痛饮-java的强>
构建swig java绑定
<强> - 与 - 不支持的强>
允许configure在其可以找到的任何库中拖动。调用此风险需要您自担风险。
<强> - 无需-蟒强>
没有python2支持的构建
<强> - HEAD 强>
安装HEAD版本
检查您是否安装了gdal所需的所有依赖项。使用
brew info gdal
查看所有依赖项以及是否已安装它们。
==&GT;依赖 必需:libpng✔,jpeg✔,giflib✔,libtiff✔,libgeotiff✔,proj✔,geos✔,json-c✔,libxml2✔,pcre✔,sqlite✔,freexl✔,libspatialite✔
可选:postgresql✘,mysql✔,armadillo✔
==&GT;要求 构建:java&gt; =1.7✔,fortran✔,git✔
可选:java&gt; =1.7✔,python3✔
如果您在项目中使用maven,则需要在pom.xml中添加gdal依赖项。
<dependency>
<groupId>org.gdal</groupId>
<artifactId>gdal</artifactId>
<version>1.11.1</version>
</dependency>
您必须在Eclipse中添加环境变量,如jdeolive所述。
运行&gt;运行配置
然后在左侧选择您的应用程序并转到“环境”选项卡。
添加指向/ usr / local / opt / gdal / lib的DYLD_LIBRARY_PATH和DYLD_FALLBACK_LIBRARY_PATH。
这就是我安装gdal的方式,它在macOS 10.12.6上完美运行。