Проблема связана с руководством: https://www.libelektra.org/bindings/jna
Во-первых, я клонировал исходный код Elektra из git и скомпилировал его, так что у меня есть папка сборки. Во-вторых, я следовал руководству на https://www.libelektra.org/bindings/jna, чтобы проверить привязку.
В результате IntellijIDEA выдал мне несколько ошибок. Ошибка появляется в строках 8, 12 и 38.
final Key key = Key.create("user/hello_world", Key.KEY_VALUE, "Hello World", Key.KEY_END);
final KeySet ks = KeySet.create(10, Key.create("user/hello_world2", Key.KEY_VALUE, "Hello World2", Key.KEY_END), key, KeySet.KS_END);
final Key b = Key.create("user/boolean", Key.KEY_VALUE, "true", Key.KEY_END);
IntellijIDEA сообщил мне, что не может разрешить метод _ create _ для каждой из указанных мною строк.
Я потратил некоторое время, чтобы понять, сделал ли я что-то не так, следуя руководству. В конце концов я заглянул в реализацию класса и увидел, что аргументы этих строк не соответствуют никакому методу _ create _. После небольшого обходного пути мне удалось решить проблему, поэтому я считаю, что параметры, которые отправляются в HelloElektra.java, должны быть изменены.
Пожалуйста, поправьте меня, если я ошибаюсь. Также можно ли рассматривать этот вопрос как домашнее задание? Если да, назначьте меня, чтобы я мог добавить его в свой список проблем.
Спасибо за этот вопрос!
Я потратил некоторое время, чтобы понять, сделал ли я что-то не так, следуя руководству.
Не следует думать, что вы сделали что-то не так. Возможно, руководство просто не охватывает вашу установку / настройку Java / ... Или, может быть, что-то не так в руководстве или коде (в этом случае кажется, что проблема в коде, см. Ниже).
Мне удалось решить проблему, поэтому я считаю, что параметры, которые отправляются в HelloElektra.java, должны быть изменены.
Да. Метод создания был улучшен в 9643232a64a9bbca782587840385fbb40c7e5346 (чтобы сделать их более безопасными). Но похоже, что "HelloElektra.java" не обновлялся. Пожалуйста, сделайте это в пиаре. Приветствуется более длинный HelloElektra.java с большим количеством комментариев.
Запрос на слияние создается:
https://github.com/ElektraInitiative/libelektra/pull/2542
Кажется, сейчас исправили.