2011-10-25 2 views
2

У меня есть Java-игра с использованием lwjgl и slick-util. Он отлично работает на моем компьютере, но не на чужом. Он упакован в банку. Я создал банку с помощью Eclipse и запечатал туземцев и библиотеки с помощью Jarsplice. Базовая папка Jar содержит только каталоги пакетов и туземцы, без манифеста или classpaths. Сама игра не является апплетом.Проблема с экспортом java-игры в .jar

С моего компьютера эта банда работает и работает идеально. С кем-то другим он вылетает, как только класс Display вызывается в главном коде (оставляет пустой фрейм с основным именем java и значком и серым внутренним окном). Я упаковал как 32-разрядные, так и 64-разрядные аборигены и протестировал его на 32-битных и 64-битных системах Windows, но единственный, который его запускает, является моим (Windows 32 bit).

В баночке отсутствует путь к классу или манифест в базовой папке.

Я переименовал свои папки с привязкой к eclipse, в том числе папку для туземцев, перед запуском фляги, и она по-прежнему работает. У меня нет туземцев нигде.

Вот META-INF/MANIFEST.MF изнутри банки. Обратите внимание, что банка не работает на моем компьютере, когда я удаляю строку Main-Class. Класс, на который ссылается IS, находится в Jar.

Manifest-Version: 1.0 
Launcher-VM-Args: 
Launcher-Main-Class: processors.Main 
Main-Class: org.ninjacave.jarsplice.core.JarSpliceLauncher 

Вот структура каталога в банке:

META-INF 
    org 
    game packages including processors 
    all the natives.dll 

Обновление: Я определенно сузили его к туземцам только детектируемых на моей машине, вероятно, из-за чего-то я установил. Может, я что-то упустил?

+0

Я не вижу папку классов, соответствующую пакету 'processor'. Что ваш CLASSPATH установлен слишком на вашей локальной машине, где работает код? – Perception

+0

(игра) включает в себя все пакеты для моей игры, это действительно 6 пакетов (процессоры, проигрыватели, память и т. Д.). Мой CLASSPATH для окон:.; C: \ Program Files \ Java \ jre1.6.0_05 \ lib \ ext \ QTJava.zip; – Sean

+0

Ах, вы используете JarSplicer (как я могу видеть из более тщательного чтения вашего вопроса). Посмотрите эту тему, может быть полезно - http://stackoverflow.com/questions/6749141/cant-start-jar-file-using-lwjgl. – Perception

ответ

1

Я решил эту проблему, упаковал свои ресурсы, банку и уроженцев в zip-файл вместе. Java автоматически выбирает папку, в которой находится банка, чтобы найти туземцев, а также ресурсы.

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