2014-01-20 43 views
1

所以我的问题是我想将我的libgdx桌面项目导出为可运行的.jar文件。我已经完成了这项工作,当我从桌面打开.jar文件时它工作正常。但是,如果将.jar文件放入我的Dropbox或除桌面之外的其他任何目录中,则不再有效。 Gameframe开放为0.2秒,保持黑色并立即关闭。如果我然后将.jar拉回到我的桌面,它工作正常。导出的runnable .jar使用libgdx的w/Eclipse文件

我以前见过其他人问过这个问题,但没有一个答案帮我解决了我的问题。 如果您需要更多信息,请让我知道!

回答

0

在eclipse中,请确保右键单击整个项目并单击导出。在库处理中,点击“将所需的库打包到生成的JAR中”。然后点击完成。如果这不起作用,请确保您的构建路径包含所有内容。

我可以访问.jar文件,所以我可以看看里面缺少什么吗?

+0

嗨,我只是想出了什么问题是使用cmd并从那里打开.jar文件。显然,错误是因为我的游戏无法访问其中一个资产(这里:“couldnt load file:img/moos.jpg”)。它在桌面上工作,因为我有一个我的img /文件夹的备份文件夹。 我也用.rar阅读器检查过.jar文件,看到那里确实有我的img /文件夹,里面有所有必要的资产。 我不允许在我的资产文件夹中有子文件夹吗?我在eclipse中创建它。 如果这没有帮助,我可以为你下载.jar文件,当然。 – user3217132

+0

编辑:修正它!错误是在源代码中我加载了“image.jpg”,应该是“image.JPG”。不知道这样的事情这么重要......我也想知道为什么当我在Eclipe内部开始项目时没有问题? – user3217132

+0

我不知道,这不应该发生。为了在我的游戏中导出我的资源,我创建了一个新的Source文件夹,我在其中放置了所有内容(如地图,图像,声音),因此可以使用.jar自动导出。我确定我有更好的方法来做到这一点,但直到我找到它,我才会在这一天工作。不要忘了编辑主帖子,告诉你找到了哪个答案,可能有其他人与你有同样的问题。 – Ferdz

0

很有可能你在你的输出目录中有一些额外的库,当你把你的jar放在保管箱中时会丢失这些库。要确认这一点,请尝试通过命令行启动您的应用程序。然后,Java将打印一个带有例外的堆栈跟踪。例如:

Java的罐子yourjarinthisdirectory.jar

作为一个方面说明我会建议在未来maven libgdx使用Maven。在这种情况下,你可以说“包”,maven生成完整的jar包含其中的所有库,而无需进一步配置。

1

尝试打开导出的JAR(例如)7-zip,然后添加'res'文件夹manualy。我不明白,为什么Eclipse没有在其中放置'res'文件夹。但添加manualy为我工作。