2008-10-05 2 views
1

Я работаю над a source-code visualization project, который использует библиотеку ядра обработки. Библиотека обработки имеет возможность использовать библиотеку OpenGL jogl для рендеринга графики, которая действительно повышает производительность. Однако файлы JNI, используемые jogl, необязательно доступны во время выполнения, в зависимости от того, кто использует проект и на какой платформе.Как определить, доступен ли JNI (jogl) во время выполнения?

В настоящее время у нас есть только указание указать, хотят ли они использовать OpenGL, но было бы намного лучше, если бы мы могли использовать OpenGL по умолчанию и только отступать от рендеринга программного обеспечения, когда он недоступен. Библиотеки обработки, похоже, не так просто, вы должны только один раз указывать визуализатор, а изменение рендеринга дает ... новое поведение.

Любая идея, как выяснить, доступны ли необходимые JNI для jogl и работать во время выполнения?

ответ

2

Просто попробуйте загрузить класс с помощью ClassLoader с помощью loadClass и поймайте исключение ClassNotFound и UnsatisfiedLinkError, чтобы сделать резервную функциональность.

+0

Если вы хотите узнать, доступны ли родные библиотеки, вы хотите поймать UnsatisifiedLinkError. – JesperE 2008-10-06 07:06:43

0

Другой аккуратный способ убедиться, что вы используете Jogl для развертывания через JNLP. Вы можете включить Jogl как удаленную зависимость, и Java-пуск автоматически выберет соответствующую собственную версию.

Смежные вопросы