无法从 Eclipse 将默认 Java libGDX 项目导出为 jar
Cannot export default Java libGDX project as a jar from Eclipse
当我从 eclipse 中将默认 libgdx 项目导出为 运行nable JAR 文件,然后 运行 .jar 文件时,它只是弹出一个黑屏然后关闭.
当我从 Eclispe 中 运行 项目代码时,它工作正常。程序显示带有 "bad logic" 徽标的正确红屏(这是应该发生的情况)。
如果我使用 gradle 和命令
从命令行构建项目
gradlew desktop:dist
然后 运行 创建的 jar,它只会打开显示黑屏一秒钟然后关闭。
正在使用的代码是默认的Java libgdx项目代码:
package com.mygdx.game.tesprac;
import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
public class TestLibgdx extends ApplicationAdapter {
SpriteBatch batch;
Texture img;
@Override
public void create () {
batch = new SpriteBatch();
img = new Texture("badlogic.jpg");
}
@Override
public void render () {
Gdx.gl.glClearColor(1, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
batch.begin();
batch.draw(img, 0, 0);
batch.end();
}
}
桌面启动器:
package com.mygdx.game.tesprac.desktop;
import com.badlogic.gdx.backends.lwjgl.LwjglApplication;
import com.badlogic.gdx.backends.lwjgl.LwjglApplicationConfiguration;
import com.mygdx.game.tesprac.TestLibgdx;
public class DesktopLauncher {
public static void main (String[] arg) {
LwjglApplicationConfiguration config = new LwjglApplicationConfiguration();
new LwjglApplication(new TestLibgdx(), config);
}
}
我终于找到了解决方案,并将post放在这里供其他人查看。
1.) 确保 android 项目中的资产文件夹在桌面项目中是 'linked'。为此,请在 Package Explorer 中将资产文件夹向下拖动到桌面项目,并在出现提示时选择 select 允许链接文件夹的选项。
2.) 右击桌面项目select属性->构建路径,然后在'projects'选项卡下将android项目添加到构建路径
3.) 在android项目中右击assets文件夹和selectbuild path -> 'use as source'
4.) 右键单击桌面项目然后 select:导出 -> Java -> 可运行 JAR 文件,select 'Package required libraries into generated JAR' 选项 -> 完成。
当我从 eclipse 中将默认 libgdx 项目导出为 运行nable JAR 文件,然后 运行 .jar 文件时,它只是弹出一个黑屏然后关闭.
当我从 Eclispe 中 运行 项目代码时,它工作正常。程序显示带有 "bad logic" 徽标的正确红屏(这是应该发生的情况)。
如果我使用 gradle 和命令
从命令行构建项目gradlew desktop:dist
然后 运行 创建的 jar,它只会打开显示黑屏一秒钟然后关闭。
正在使用的代码是默认的Java libgdx项目代码:
package com.mygdx.game.tesprac;
import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
public class TestLibgdx extends ApplicationAdapter {
SpriteBatch batch;
Texture img;
@Override
public void create () {
batch = new SpriteBatch();
img = new Texture("badlogic.jpg");
}
@Override
public void render () {
Gdx.gl.glClearColor(1, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
batch.begin();
batch.draw(img, 0, 0);
batch.end();
}
}
桌面启动器:
package com.mygdx.game.tesprac.desktop;
import com.badlogic.gdx.backends.lwjgl.LwjglApplication;
import com.badlogic.gdx.backends.lwjgl.LwjglApplicationConfiguration;
import com.mygdx.game.tesprac.TestLibgdx;
public class DesktopLauncher {
public static void main (String[] arg) {
LwjglApplicationConfiguration config = new LwjglApplicationConfiguration();
new LwjglApplication(new TestLibgdx(), config);
}
}
我终于找到了解决方案,并将post放在这里供其他人查看。
1.) 确保 android 项目中的资产文件夹在桌面项目中是 'linked'。为此,请在 Package Explorer 中将资产文件夹向下拖动到桌面项目,并在出现提示时选择 select 允许链接文件夹的选项。
2.) 右击桌面项目select属性->构建路径,然后在'projects'选项卡下将android项目添加到构建路径
3.) 在android项目中右击assets文件夹和selectbuild path -> 'use as source'
4.) 右键单击桌面项目然后 select:导出 -> Java -> 可运行 JAR 文件,select 'Package required libraries into generated JAR' 选项 -> 完成。