PackR TestApp сборки не будет работать
(Windows 8.1)
Вот как я собираю.exe:
Зайдите сюда, https://github.com/libgdx/packr
Загрузите упаковщик и.zip. Я компилирую исходный код TestApp с помощью "javac -sourcepath $SRC -d $BIN".
файл класса теперь находится в bin>com>badlogicgames>packr. Я захожу в bin, создаю manifest.txt и читал "Main-Class: com.badlogicgames.packr.TestApp ".
Я создаю jar: jar -cvmf manifest.txt testapp.jar com jar создан и работает нормально.
Я перемещаю банку в основную папку, в которой я работаю, в которой содержатся packr.jar и config.json
config.json
{
"platform": "windows",
"jdk": "C:/dev/resources/OpenJDK/openjdk-1.7.0-u60-unofficial-windows-i586-image.zip",
"executable": "testapp",
"appjar": "C:/dev/testapp/testapp.jar",
"mainclass": "com/badlogicgames/packr/TestApp",
"vmargs": [
"-Xmx1G"
],
"minimizejre": "soft",
"outdir": "build"
}
Ресурсы не являются обязательными в соответствии с документацией, поэтому я решил не использовать их. Я попытался с ресурсами и папкой ресурсов и pom.xml в правильном месте с этим разделом в файле конфигурации, но он получает тот же результат (запуск exe ничего не делает)
Запустите packr "java -jar packr.jar config.json"
Я получаю предупреждение "SLF4J: Не удалось загрузить класс 'org.slf4j.impl.StaticLoggerBinder'"
Но процесс продолжается, и exe создается. Я видел в этой теме:
Который предположительно исправляет это предупреждение (еще не пробовал, это кажется довольно сложным, потому что я не уверен, где именно я должен добавить к classpath указанные.jars (отвечающий говорит, когда работает 'jar', но какой jar он говорит о чем не могу сказать))
Но он говорит, что это "просто предупреждение" и кажется довольно неуместным, поэтому я не уверен, что именно по этой причине.exe не работает.
Это был бы мой первый вопрос, это предупреждение, почему.exe не запускается?
Если нет, то в чем здесь проблема? Должен ли я использовать pom.xml и папку ресурсов?
Также в этом вопросе пользователь с именем "gouessej" предлагает jar-пакет с включенными зависимостями, который при загрузке и использовании создает exe-файл, который фактически запускается как процесс в течение нескольких секунд. Программа по-прежнему не работает правильно, хотя.
Если бы я мог, чтобы кто-то объяснил мне это очень четко, что я должен сделать, чтобы заставить работать этот.exe, я был бы очень признателен.
1 ответ
Документация в https://github.com/libgdx/packr гласит, что атрибут mainClass должен разрешаться именем класса с помощью "." Разграничение имен пакетов. Итак, замените "/" на "." в "mainclass": "com/badlogicgames/packr/TestApp"