用jar包运行带GUI的java游戏

时间:2024-05-03 23:06:38

这是从某论坛下载的java游戏demo,由于年代久远,所以没有记下出处。重要的是,这是一个带GUI的java程序。

链接: https://pan.baidu.com/s/1LjQ2bQPXvW-ti7LvlBdu6A 密码: 1tsf       (包含源代码)

首先演示如何直接运行这游戏,因为这里使用的是命令行,所以要在环境变量中配置好jdk的路径。

用jar包运行带GUI的java游戏

可以看到Main类的相对路径为.\org\loon\game\simple\sokoban\main

但是要运行Main.class,还得在名为SokobanSimple的目录下,因为以上的路径包含着Main的包名,java用包(package)来标识不同的命名空间,在操作系统中就是文件夹,所以Main类的完整名称应该为org.loon.game.simple.sokoban.main.Main

在SokobanSimple目录下打开命令行,win7系统可以直接用shift + 鼠标右键点击目录中空白地方就会弹出“在此处打开命令窗口”的选项;也可以运行cmd.exe进入命令行,再进入SokobanSimple目录。

在命令行中运行:java  org.loon.game.simple.sokoban.main.Main

用jar包运行带GUI的java游戏

即可打开游戏。

用jar包运行带GUI的java游戏

但是想直接用鼠标双击的方式打开游戏,就像打开其他语言写的可执行文件,那该怎么办呢?

首先找到游戏的主程序名,也就是完整的类名:org.loon.game.simple.sokoban.main.Main          记住它!!!

接着,还是在SokobanSimple里打开命令行窗口。

键入命令: jar -cvf SokobanSimple.jar image org

(有关jar命令的详解请在命令行里键入:jar -help)

用jar包运行带GUI的java游戏

将image和org这两个包压缩成jar包成功!

这时可以看到SokobanSimple里有一个jar包。

用jar包运行带GUI的java游戏

但是我们双击它时发现游戏还是没有运行起来。

这是因为jar包中有个配置信息还没写,这配置信息用来表示jar中的主类。

接下来用压缩工具查看jar包。打开META-INF文件夹,用记事本打开一个叫MANIFEST.MF的配置文件,

并在下面一行添加一条配置信息: Main-Class: org.loon.game.simple.sokoban.main.Main

格式为 Main-Class:(这里有一个空格)完整主类名         这里的主类名即是org.loon.game.simple.sokoban.main.Main

若是可以的话,直接在压缩包里保存修改,如下图。

用jar包运行带GUI的java游戏用jar包运行带GUI的java游戏用jar包运行带GUI的java游戏

接下来双击SokobanSimple.jar,可以运行了!

用jar包运行带GUI的java游戏