Как распространять приложение JOGL?

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

Можно ли создать сборку, устанавливающую все необходимые файлы JOGL, чтобы вы могли распространять свое Java-приложение с необходимыми библиотеками JOGL?

Если бы кто-то мог объяснить это в NetBeans, это тоже было бы полезно.

Спасибо,

Джеймс


person James Bedford    schedule 03.08.2010    source источник
comment
Убедились ли вы, что собственные файлы библиотеки (например, dll или около того) включены в библиотеку. Также попробуйте запустить из папки dist с java -jar project.jar и он должен подобрать библиотеки   -  person mikek3332002    schedule 09.08.2010
comment
Да, я пытался использовать ‹cod›java -jar project.jar‹/code›. Кажется, это работает только в том случае, если файлы библиотеки находятся в каталоге расширений java по умолчанию для пути к классам, но я хочу иметь возможность включать все библиотеки .jar в мой файл .jar, чтобы они не должны были находиться в каталоге пути к классам.   -  person James Bedford    schedule 09.08.2010


Ответы (5)


Я написал руководство о том, как создавать распространяемые приложения JOGL для нескольких платформ. В руководстве используется Eclipse вместо NetBeans, но принципы должны быть теми же. Вы можете использовать эту систему для создания полностью автономных приложений JOGL, поэтому они даже не требуют от пользователя установки Java.

Учебник находится в моем блоге по адресу http://wadeawalker.wordpress.com/2010/10/24/tutorial-creating-native-binary-executables-for-multi-platform-java-apps-with-opengl-and-eclipse-rcp/.

person Wade Walker    schedule 25.10.2010

Обычно это происходит из-за того, что библиотеки находятся где-то на вашем компьютере, и именно так в большинстве руководств рекомендуется устанавливать JOGL. Ключевым моментом является добавление библиотек JOGL в ваш проект и указание проекту использовать их, а не библиотеки на вашем компьютере. После этого вы сможете упаковать приложение.

Обратите внимание: поскольку привязки JOGL зависят от платформы, это означает (например), что если вы написали это на Mac и попытаетесь развернуть в Windows, это не сработает, потому что собственные вызовы недоступны.

person Feanor    schedule 03.08.2010
comment
Спасибо за ответ. Вы знаете, как я могу добавить библиотеки? Я пробовал все в Netbeans, но после удаления библиотек из пути к классам я не могу найти способ успешно скомпилировать проект с банками внутри проекта! - person James Bedford; 08.08.2010
comment
Добавьте их в путь к классам, используя путь к тому месту, где они находятся в проекте. Например, я добавил в свой проект папку JOGL/lib, а затем добавил ресурсы из этой папки в путь к классам. - person Feanor; 08.08.2010
comment
Я попытался установить путь к классам так, чтобы он указывал на папку, содержащую файлы .jar (например, ваш каталог lib), а также добавить файлы .jar на вкладке «Библиотеки» в окне свойств проекта (что позволяет ему компилировать , но я все еще получаю следующее исключение во время выполнения: Exception in thread main java.lang.UnsatisfiedLinkError: no Gluegen-RT in java.library.path Спасибо за постоянную помощь. - person James Bedford; 08.08.2010
comment
Я попытаюсь получить для вас рабочий пример - у меня сейчас проблемы с открытием моего проекта, но я сделал именно это недавно. - person Feanor; 09.08.2010
comment
Большое спасибо, Феанор, очень приятно! - person James Bedford; 10.08.2010

Обычно мы распространяем наши приложения на основе JOGL, используя Jnlp. Это позволяет активировать автоматическое определение платформы из JNLP Launcher, а также использовать последние версии библиотек Jogl. Если вы хотите увидеть, как создать правильный JNLP, посмотрите примеры на эта страница для НАСА WorldWind.

person whatnick    schedule 01.09.2010

Вы можете использовать Java Webstart для развертывания приложения с помощью JOGL, как это объясняется здесь: http://jogamp.org/jogl/doc/deployment/JOGL-DEPLOYMENT.html

person gouessej    schedule 25.09.2010