【解决办法】有三个关键细节需要注意:
1. Java组件包内部用到了gdal_data变量,动态以插件方式加载binProjectionMappingTable目录的坐标系文件,导出shp或gdb时需要写坐标系信息就需要用到它。如果出现丢失坐标系prj或create table failed估计这个变量没正确配置或读取坐标系有问题gdal找不到匹配的坐标系。像安装postgis时会把gdal_data变量写到系统环境里,这就导致变量冲突,java组件默认加载了系统的就不对。
2. linux上只支持gdb读取,不支持写出。只有filegdb gcc5以上的库支持linux写gdb,我们用的gcc4.8。
3. 父类ExportSetting.setFilter()方法设置不起作用,需要用其子类ExportSettingFileGDBVector.setFilter()方法才起作用。