Библиотека NetBeans с помощью JNI

Мне можно было определить Библиотеку, которая использует JNI в NetBeans?

Кажется, что определение библиотеки только позволяет Банки или Папки.

Как я могу гарантировать, что DLL следует за файлом банки, когда приложение создается?

8
задан Allain Lalonde 13 January 2009 в 19:25
поделиться

2 ответа

Если вы имеете в виду сборку приложения (или модуля) для платформы NetBeans, то вы можете поместить DLL в папку "release/modules/lib/". Это в разделе FAQ по платформе:

Дополнительная информация здесь:

Если вы спрашиваете в более общем плане, то я думаю, что большинство людей упаковывают DLL в банку, а затем распаковывают ее во временное место при запуске приложения. Например,

Если это не то, что вы ищете, то вам нужно будет предоставить дополнительную информацию о том, что вы пытаетесь сделать.

.
6
ответ дан 5 December 2019 в 20:20
поделиться

NetBeans не сделает его самостоятельно, но так как он использует муравей за кулисами, есть обходной путь.

Вы должны создать подкаталог имени JNI в вашем каталоге проекта ( C: \ Path \ to \ mynetBeansProject \ JNI ), поставьте все .dll, .so и .jnilib Файлы там (нативные вещи), и добавьте следующие строки к файлу build.xml , который вы найдете в вашем каталоге проекта, незадолго до метки :

<target name="-post-compile">
    <copy todir="${dist.dir}/lib">
        <fileset dir="jni" />
    </copy>
</target>

Затем добавьте файл JAR в свой проект, как будто вы всегда делаете. :)

Фрагмент, который вы вставили в build.xml , убедитесь, что нативные библиотеки следуют за файлами JAR в папке DIST / Lib , когда вы вызываете «чистите и строить» изнутри NetBeans (или муравей из командной строки); JVM будет искать файлы .dll (.so, .jnilib) в том же каталоге, что и .jar, который их загружает, поэтому он будет работать.

Обратите внимание, что это не сделает ваш проект запускается изнутри NetBeans, потому что ... Я не совсем уверен, что продолжается, но он выглядит как путь библиотеки ( LD_LIBRARY_PATH ) не включает в себя Библиотеки проектов, и нет никаких способов изменения его в небумах. Просто поставьте свои собственные библиотеки в / библиотеку / Java / расширения на Mac OS X, или просто заметили их в C: \ Windows \ System32 под Windows. Если вы используете 64-битные окна с 64-битным JVM, у меня нет подсказки; Если вы запускаете Linux, вы, вероятно, знаете, куда их раскрыть, но / usr / lib / java может быть хорошей ставкой.

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

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