2

(Windows 8.1)

这就是我构建.exe的方式:

去这里,https://github.com/libgdx/packr

下载 packr 和 .zip。我使用“javac -sourcepath $SRC -d $BIN”编译TestApp 源代码。

类文件现在在bin>com>badlogicgames>packr 我去 bin,创建 manifest.txt 读取“Main-Class: com.badlogicgames.packr.TestApp”

我创建了 jar: jar -cvmf manifest.txt testapp.jar com jar 已创建并且运行良好。

我将 jar 移动到我正在使用的主文件夹中,其中包含 packr.jar 和 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。我在这个线程上看到过:

Packr 不工作

据说修复了这个警告(还没有尝试过,它似乎相当复杂,因为我不确定我应该在哪里将指定的.jars添加到类路径中(回答者在运行'jar'时说,但他在说哪个jar关于我不能说))

但他说这“只是一个警告”,而且似乎无关紧要,所以我不确定这是否是 .exe 没有运行的原因。

那将是我的第一个问题,这是为什么 .exe 无法运行的警告?

如果不是,这里有什么问题?我应该使用 pom.xml 和资源文件夹吗?

同样在那个问题中,一个名为“ gouessej ”的用户建议使用包含依赖项的 packr jar,当我下载和使用它时,它会创建一个实际作为进程启动几秒钟的 exe。该程序仍然无法正常运行。

如果我可以让某人非常清楚地为我拼写出来,我必须做些什么才能让这个 .exe 工作,我将非常感激。

4

1 回答 1

0

https://github.com/libgdx/packr中的文档说属性 mainClass 应该用“。”解析类名。分隔包名称。因此,将“/”替换为“。” 在"mainclass": "com/badlogicgames/packr/TestApp"

于 2017-01-30T05:38:43.443 回答