Зависимые библиотеки JNI

Параметр

size увеличивает количество отображаемых обращений со значения по умолчанию (10) до 500.

http://localhost:9200/[indexName]/_search?pretty=true&size=500&q=*:*

Измените с шаг за шагом, чтобы получить все данные.

http://localhost:9200/[indexName]/_search?size=500&from=0
15
задан Jeff Storey 6 July 2009 в 13:44
поделиться

3 ответа

  • Если у вас есть DLL с именем «MyNativeDLL.dll», тогда вы должны использовать «MyNativeDLL» в вызове LoadLibrary.
  • Используйте Dependency Walker , чтобы проверить наличие любые файлы, необходимые для MyNativeDLL.dll
  • Если они есть, включите их в ту же папку, что и MyNativeDLL.dll - после того, как он заработает, попробуйте поместить дополнительные необходимые файлы в папку System32.
19
ответ дан 1 December 2019 в 02:37
поделиться

Я успешно вставил папку в переменную PATH с помощью JNA. Это можно использовать в качестве обходного пути, если вы хотите развернуть зависимые библиотеки DLL вместе с приложением, не затрагивая глобальную среду или не вмешиваясь в явный порядок загрузки DLL.

Однако мне не ясно, как на это влияет жизненный цикл загрузчика классов. Я пробовал этот метод только в модульной системе NetBeans, но если вы просмотрите код класса ClassLoader для loadLibrary, вы увидите, что он кэширует некоторые переменные пути. Может возникнуть необходимость создать новый загрузчик классов для загрузки библиотеки, а может и не потребоваться.

Обратной стороной является необходимость использования JNA или JNI. Кроме того, это кажется довольно грубым взломом. См. здесь для примера того, как установить переменную среды с помощью JNA.

0
ответ дан 1 December 2019 в 02:37
поделиться

Мне удалось заставить это работать, не помещая какие-либо библиотеки DLL в PATH, используя System.load () для всех библиотек DLL в обратном порядке зависимости. Чтобы быть ясным, я вызывал System.load () для всех зависимых DLL, а не только для JNI DLL. Вам не нужно вызывать System.load () для библиотек DLL, поставляемых с Windows (они находятся в PATH).

Я делал это в веб-приложении, где jar-файл содержал распаковываемые библиотеки DLL. Ваша ситуация кажется проще, поэтому я считаю, что она должна работать. Обычно я следовал приведенному здесь решению: Как создать файл JAR, содержащий файлы DLL?

6
ответ дан 1 December 2019 в 02:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: