Я работаю с Geotools, но я не могу правильно настроить GDAL для плагина OGR. Согласно расплывчатой документации для плагина OGR, мне нужно использовать GDAL 3.2 или старше. 'gdalalljni'. И он отсутствует в версии 2.2.3. Однако, когда я вместо этого использую версию 3.1.4, я получаю неудовлетворенную племянницу для «Ogrjni», который правильно отсутствует в этой версии. Похоже, что в версии 2.2.3 отсутствует «gdalalljni.dll», которая была добавлена в более поздних версиях, но затем удалил «ogrjni.dll». Из использования 3.1.4: < /p>
Native library load failed.
java.lang.UnsatisfiedLinkError: no ogrjni in java.library.path: [C:\Program Files\Java\jdk-11\bin, C:\WINDOWS\Sun\Java\bin, C:\WINDOWS\system32, C:\WINDOWS, C:\Program Files\Microsoft SDKs\Azure\CLI2\wbin, C:\Program Files (x86)\Common Files\Oracle\Java\javapath, C:\WINDOWS\system32, C:\WINDOWS, C:\WINDOWS\System32\Wbem, C:\WINDOWS\System32\WindowsPowerShell\v1.0\, C:\WINDOWS\System32\OpenSSH\, C:\Program Files\dotnet\, C:\Program Files\nodejs\, C:\Program Files\Microsoft SQL Server\150\Tools\Binn\, C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\, C:\Program Files\PowerShell\7\, C:\Program Files\PuTTY\, C:\Program Files\RedHat\Podman\, C:\gdal-314\bin\gdal\java, C:\gdal-314\bin, C:\gdal-314\bin\gdal\apps, C:\aliases, C:\Users\sehe\AppData\Local\Programs\Git\cmd, C:\Users\sehe\AppData\Local\Programs\oh-my-posh\bin, C:\Users\sehe\AppData\Roaming\pypoetry\venv\Scripts, C:\Users\sehe\AppData\Local\Programs\Microsoft VS Code\bin, C:\Users\sehe\AppData\Roaming\npm, C:\Program Files\Azure Data Studio\bin, C:\Users\sehe\AppData\Local\Microsoft\WindowsApps, C:\Users\sehe\AppData\Local\Programs\EmEditor, C:\Users\sehe\AppData\Local\Pandoc\, C:\Users\sehe\AppData\Local\Programs\Gpg4win\..\GnuPG\bin, C:\Users\sehe\AppData\Roaming\Programs\Zero Install, C:\Users\sehe\.dotnet\tools, C:\grails-4.1.4\bin, ., .]
Caught: java.lang.UnsatisfiedLinkError: org.gdal.ogr.ogrJNI.GetDriverCount()I
java.lang.UnsatisfiedLinkError: org.gdal.ogr.ogrJNI.GetDriverCount()I
at org.gdal.ogr.ogrJNI.GetDriverCount(Native Method)
at org.gdal.ogr.ogr.GetDriverCount(ogr.java:114)
at org.geotools.data.ogr.jni.JniOGR.(JniOGR.java:88)
at org.geotools.data.ogr.jni.JniOGRDataStoreFactory.createOGR(JniOGRDataStoreFactory.java:32)
at org.geotools.data.ogr.OGRDataStoreFactory.getAvailableDrivers(OGRDataStoreFactory.java:285)
at GeotoolsTest.run(GeotoolsTest.groovy:12)
< /code>
Это пример кода, который снят (Groovy): < /p>
import org.geotools.data.ogr.OGRDataStoreFactory
import org.geotools.data.ogr.jni.JniOGRDataStoreFactory
OGRDataStoreFactory factory = new JniOGRDataStoreFactory()
for (String driver : factory.getAvailableDrivers()) {
System.out.println(driver);
}
< /code>
И вот мой Buildfile: < /p>
plugins {
id 'groovy'
}
group 'org.example'
version '1.0-SNAPSHOT'
repositories {
mavenCentral()
maven { url "https://repo.osgeo.org/repository/geotools-releases/" }
maven { url "https://packages.atlassian.com/maven-3rdparty/" }
}
dependencies {
implementation 'org.apache.groovy:groovy-all:4.0.14'
implementation group: 'org.geotools', name: 'gt-main', version: '32.1'
implementation group: 'org.geotools', name: 'gt-ogr-core', version: '32.1'
implementation group: 'org.geotools', name: 'gt-ogr-jni', version: '32.1'
}
test {
useJUnitPlatform()
}
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
if (details.requested.group == 'javax.media') {
if (details.requested.name == 'jai_core') {
details.useTarget group: 'javax.media', name: 'jai-core', version: details.requested.version
}
}
}
}
< /code>
Я гуглил эту ошибку в течение нескольких часов, и все источники продолжают говорить мне, чтобы проверить мой путь, который, как я уверен, настроена правильно. И в любом случае, проблема заключается в недостающих DLL из двоичных файлов. Но просто чтобы быть уверенным, вот переменные моей среды: < /p>
gdal_sdk_root = c: \ gdal-314
gdal_data = %gdal_sdk_root %\ bin \ gdal-data < /p>
path =%gdal_sdk_root%\ bin \ gdal \ java;%gdal_sdk_root%\ bin;%gdal_sdk_root%\ bin \ gdal \ apps < /p>
Благодарный за любую помощь!
Подробнее здесь: https://stackoverflow.com/questions/794 ... gdalalljni
Geotools OGR плагин - неудовлетворенная линкуратор (OGRJI или GDALALLJNI) ⇐ JAVA
Программисты JAVA общаются здесь
1738677048
Anonymous
Я работаю с Geotools, но я не могу правильно настроить GDAL для плагина OGR. Согласно расплывчатой документации для плагина OGR, мне нужно использовать GDAL 3.2 или старше. 'gdalalljni'. И он отсутствует в версии 2.2.3. Однако, когда я вместо этого использую версию 3.1.4, я получаю неудовлетворенную племянницу для «Ogrjni», который правильно отсутствует в этой версии. Похоже, что в версии 2.2.3 отсутствует «gdalalljni.dll», которая была добавлена в более поздних версиях, но затем удалил «ogrjni.dll». Из использования 3.1.4: < /p>
Native library load failed.
java.lang.UnsatisfiedLinkError: no ogrjni in java.library.path: [C:\Program Files\Java\jdk-11\bin, C:\WINDOWS\Sun\Java\bin, C:\WINDOWS\system32, C:\WINDOWS, C:\Program Files\Microsoft SDKs\Azure\CLI2\wbin, C:\Program Files (x86)\Common Files\Oracle\Java\javapath, C:\WINDOWS\system32, C:\WINDOWS, C:\WINDOWS\System32\Wbem, C:\WINDOWS\System32\WindowsPowerShell\v1.0\, C:\WINDOWS\System32\OpenSSH\, C:\Program Files\dotnet\, C:\Program Files\nodejs\, C:\Program Files\Microsoft SQL Server\150\Tools\Binn\, C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\, C:\Program Files\PowerShell\7\, C:\Program Files\PuTTY\, C:\Program Files\RedHat\Podman\, C:\gdal-314\bin\gdal\java, C:\gdal-314\bin, C:\gdal-314\bin\gdal\apps, C:\aliases, C:\Users\sehe\AppData\Local\Programs\Git\cmd, C:\Users\sehe\AppData\Local\Programs\oh-my-posh\bin, C:\Users\sehe\AppData\Roaming\pypoetry\venv\Scripts, C:\Users\sehe\AppData\Local\Programs\Microsoft VS Code\bin, C:\Users\sehe\AppData\Roaming\npm, C:\Program Files\Azure Data Studio\bin, C:\Users\sehe\AppData\Local\Microsoft\WindowsApps, C:\Users\sehe\AppData\Local\Programs\EmEditor, C:\Users\sehe\AppData\Local\Pandoc\, C:\Users\sehe\AppData\Local\Programs\Gpg4win\..\GnuPG\bin, C:\Users\sehe\AppData\Roaming\Programs\Zero Install, C:\Users\sehe\.dotnet\tools, C:\grails-4.1.4\bin, ., .]
Caught: java.lang.UnsatisfiedLinkError: org.gdal.ogr.ogrJNI.GetDriverCount()I
java.lang.UnsatisfiedLinkError: org.gdal.ogr.ogrJNI.GetDriverCount()I
at org.gdal.ogr.ogrJNI.GetDriverCount(Native Method)
at org.gdal.ogr.ogr.GetDriverCount(ogr.java:114)
at org.geotools.data.ogr.jni.JniOGR.(JniOGR.java:88)
at org.geotools.data.ogr.jni.JniOGRDataStoreFactory.createOGR(JniOGRDataStoreFactory.java:32)
at org.geotools.data.ogr.OGRDataStoreFactory.getAvailableDrivers(OGRDataStoreFactory.java:285)
at GeotoolsTest.run(GeotoolsTest.groovy:12)
< /code>
Это пример кода, который снят (Groovy): < /p>
import org.geotools.data.ogr.OGRDataStoreFactory
import org.geotools.data.ogr.jni.JniOGRDataStoreFactory
OGRDataStoreFactory factory = new JniOGRDataStoreFactory()
for (String driver : factory.getAvailableDrivers()) {
System.out.println(driver);
}
< /code>
И вот мой Buildfile: < /p>
plugins {
id 'groovy'
}
group 'org.example'
version '1.0-SNAPSHOT'
repositories {
mavenCentral()
maven { url "https://repo.osgeo.org/repository/geotools-releases/" }
maven { url "https://packages.atlassian.com/maven-3rdparty/" }
}
dependencies {
implementation 'org.apache.groovy:groovy-all:4.0.14'
implementation group: 'org.geotools', name: 'gt-main', version: '32.1'
implementation group: 'org.geotools', name: 'gt-ogr-core', version: '32.1'
implementation group: 'org.geotools', name: 'gt-ogr-jni', version: '32.1'
}
test {
useJUnitPlatform()
}
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
if (details.requested.group == 'javax.media') {
if (details.requested.name == 'jai_core') {
details.useTarget group: 'javax.media', name: 'jai-core', version: details.requested.version
}
}
}
}
< /code>
Я гуглил эту ошибку в течение нескольких часов, и все источники продолжают говорить мне, чтобы проверить мой путь, который, как я уверен, настроена правильно. И в любом случае, проблема заключается в недостающих DLL из двоичных файлов. Но просто чтобы быть уверенным, вот переменные моей среды: < /p>
gdal_sdk_root = c: \ gdal-314
gdal_data = %gdal_sdk_root %\ bin \ gdal-data < /p>
path =%gdal_sdk_root%\ bin \ gdal \ java;%gdal_sdk_root%\ bin;%gdal_sdk_root%\ bin \ gdal \ apps < /p>
Благодарный за любую помощь!
Подробнее здесь: [url]https://stackoverflow.com/questions/79411928/geotools-ogr-plugin-unsatisfiedlinkerror-ogrjni-or-gdalalljni[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия