java - 如何在非 GUI 服务器环境中运行 libGDX 应用程序?

标签 java linux ubuntu libgdx server

我构建了一个在我的 PC 桌面上运行良好的 libGDX 应用程序,但是当我尝试在我的 Ubuntu 服务器上运行它时,它引发了以下错误:

"LwjglApplication: Couldn't initialize audio, disabling audio java.lang.UnsatisfiedLinkError: /tmp/libgdxroot/31ce78a2/liblwjgl64.so: /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/../lib/amd64/libjawt.so: symbol awt_Unlock, version SUNWprivate_1.1 not defined in file libmawt.so with link time reference".

我知道这是因为我的服务器在非 GUI 模式下运行。但是我怎样才能在这个环境中运行我的 libGDX 应用程序呢?。我听说过“libGDX headless 后端”。但我不知道如何使用它。 提前致谢。

最佳答案

我已经为任何正在寻找这个问题的人回答了这个问题。 首先,在build.gradle文件中添加这两个库:

compile "com.badlogicgames.gdx:gdx-backend-headless:$gdxVersion"
compile "org.mockito:mockito-all:1.9.5"

然后,我按如下方式启动了我的 libGDX:

HeadlessNativesLoader.load();
MockGraphics mockGraphics = new MockGraphics();
Gdx.graphics = mockGraphics;
HeadlessNet headlessNet = new HeadlessNet();
Gdx.net = headlessNet;
HeadlessFiles headlessFiles = new HeadlessFiles();
Gdx.files = headlessFiles;
Gdx.gl = mock(GL20.class);
HeadlessApplicationConfiguration config = new HeadlessApplicationConfiguration();
ApplicationListener myGdxGame = EntryPoint.getHeadlessMyGdxGame(config);

和 EntryPoint.getHeadlessMyGdxGame 返回 HeadlessApplication 的继承

关于java - 如何在非 GUI 服务器环境中运行 libGDX 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30789626/

相关文章:

java - 为什么这段代码编译失败,原因是类型推断?

c++ - 在 fedora 20 上使 Qt 应用程序失败 :/usr/bin/ld: cannot find -lGL

linux - 如何用包含 Linux 文件中另一行(新目录路径)的变量替换一行(目录路径)?

c - scanf() 在线程中不起作用

java - 如何在java中将时间设置为日期对象

javafx,如何在打印到文本区域时显示进度条

java - 计算不使用 static 的方法的总调用次数

linux - 使用ack,如何一次显示一页?

c - 在 Linux Mint 中编译 C 程序时出错

ubuntu - 如何在 Ubuntu 10.4 中安装 webkit?