Я создал java-проект и использовал (JLayer 1.0.1) для воспроизведения mp3-аудио. когда я тестирую свой проект с помощью eclipce, я обнаруживаю, что он работает правильно на 100%, а библиотеки JLayer 1.0.1 эффективно воспроизводят мои mp3-файлы. но когда я конвертирую его в исполняемый файл jar, он работает с НЕТ ЗВУКА ИЛИ АУДИО. Кажется, моя программа не может добраться до библиотек Jlayer 1.0.1. Итак, теперь мне нужна ваша помощь, чтобы решить эту проблему. с благодарностью
преобразовать java-проект (я использовал в нем JLayer 1.0.1 для воспроизведения mp3) в исполняемый файл jar
Ответы (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.
Это может быть проблема с JRE (Eclipse может использовать JRE, отличную от используемой в вашей системе) или проблема с упаковкой.
При упаковке с помощью Eclipse убедитесь, что вы упаковали все библиотеки вместе со своими классами. Для этого выберите опцию «Извлечь необходимые библиотеки в сгенерированный JAR».
Другой вариант - запустить JAR, установив путь к классам: java -cp yourjar.jar;yourlib1.jar;yourlib2.jar com.your.package.YourMainClass
(обратите внимание, что ';' зависит от платформы) вместо java -jar yourjar.jar
.