преобразовать java-проект (я использовал в нем JLayer 1.0.1 для воспроизведения mp3) в исполняемый файл jar

Я создал java-проект и использовал (JLayer 1.0.1) для воспроизведения mp3-аудио. когда я тестирую свой проект с помощью eclipce, я обнаруживаю, что он работает правильно на 100%, а библиотеки JLayer 1.0.1 эффективно воспроизводят мои mp3-файлы. но когда я конвертирую его в исполняемый файл jar, он работает с НЕТ ЗВУКА ИЛИ АУДИО. Кажется, моя программа не может добраться до библиотек Jlayer 1.0.1. Итак, теперь мне нужна ваша помощь, чтобы решить эту проблему. с благодарностью


person Wazani    schedule 27.08.2012    source источник


Ответы (2)


Вы можете сделать следующее, чтобы протестировать свое приложение: экспортируйте свой проект как обычный jar и скопируйте его вместе с JLayer.jar и другими зависимостями в каталог. Затем создайте пакетный файл (.bat в Windows, .sh в Linux), который будет включать что-то вроде этого:

java -cp yourjar.jar;JLayer.jar;other_jars FullPathToYourClass

где FullPathToYourClass что-то вроде com.something.else.ClassName Также обратите внимание на разделитель в Linux:

Как только вы увидите, что это работает, вы можете начать делать скрипт сборки, чтобы сделать все вышеперечисленное автоматически. Я бы посоветовал вам создать для этого файл Ant build.xml.

person Dan D.    schedule 27.08.2012

Это может быть проблема с JRE (Eclipse может использовать JRE, отличную от используемой в вашей системе) или проблема с упаковкой.

При упаковке с помощью Eclipse убедитесь, что вы упаковали все библиотеки вместе со своими классами. Для этого выберите опцию «Извлечь необходимые библиотеки в сгенерированный JAR».

Другой вариант - запустить JAR, установив путь к классам: java -cp yourjar.jar;yourlib1.jar;yourlib2.jar com.your.package.YourMainClass (обратите внимание, что ';' зависит от платформы) вместо java -jar yourjar.jar.

person Gilberto Torrezan    schedule 27.08.2012