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

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

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

可以看到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

即可打开游戏。

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

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

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

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

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

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

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

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

这是因为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

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

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

用jar包运行带GUI的java游戏的更多相关文章

  1. springboot项目jar包运行

    springboot项目jar包运行 参考 Linux后台运行java的jar包 步骤 进入maven项目中,打包项目. mvn package -Dmaven.test.skip=true 运行ja ...

  2. AndroidStudio开发Java工程(解决java控制台中文打印乱码+导入jar包运行工程)

    这篇分享一点个人AS开发java工程经验,虽然有时候还是得打开eclipse来运行java项目,但能用AS的时候还是尽量用AS,毕竟一个字,爽~ 废话不多说,进入正题. 一.开发Java工程 你有两种 ...

  3. 双击jar包运行方法

    方案一 在jar包同级,写个bat文件,如下 java -jar Xxx.jar pause 方案二 右击jar文件 ->打开方式->选择安装的jre/bin/javaw.exe. 双击依 ...

  4. jar包运行出现中文乱码的问题

    写了一个java Project,在eclipse里运行的时候不会出现乱码,但是用jar包运行的时候,出现了中文乱码. 我将它包装成了一个文件,这样就在没有jre的机器上也可以运行了.start.ba ...

  5. Spring Boot部署之jar包运行

    上篇阐述了Spring Boot war部署项目,本篇阐述另一种运行方式:jar包运行. 一.打jar包 1.修改pom.xml配置 2.执行package(对于module执行package之前需要 ...

  6. Spark2 jar包运行完成,退出spark,释放资源

    import org.apache.spark.sql.SparkSession import org.apache.spark.sql.Dataset import org.apache.spark ...

  7. DOS窗口带jar包运行java程序

    由于工作环境的问题,有过一次这样的测试,需要在DOS窗口运行带有jar包的java程序 编译命令如下: javac -Djava.ext.dirs=./lib Test.java 或 javac -D ...

  8. zzw原创_cmd下带jar包运行提示 “错误: 找不到或无法加载主类 ”

    在windows下编译java,由于是临时测试一下文件,不想改classpath,就在命令行中用 -cp 或classpath引入jar包,用javac编译成功,便使用java带-cp 或classp ...

  9. java jar包运行方法

    http://java-beginner-liyun.iteye.com/blog/736752一.怎么打jar包 第一步:选中要打jar包的工程 第二步:鼠标右击,选择Export... 第三步:选 ...

随机推荐

  1. Verilog 位拼接运算符的优先级

    最近研究FIFO的时候,在开源工程中看到这样一段代码 ; always @(posedge rd_clk) {'b0}}; else {'b0}}; else if(re) rp_bin <= ...

  2. 2017-2018-2 《网络对抗技术》20155322 Exp6 信息搜集与漏洞扫描

    [-= 博客目录 =-] 1-实践目标 1.1-实践介绍 1.2-实践内容 1.3-实践要求 2-实践过程 2.1-Google hacking & ZoomEye 2.2-DNS.IP信息收 ...

  3. JavaWeb总结(七)

    Web状态管理 - HTTP协议使用的是无状态的连接 - 对容器而言,每一个请求都来自于一个新的客户 解决方案-表单隐藏字段 <input type=”hidden” name=”session ...

  4. AngularJS中Directive指令系列 - bindToController属性的使用

    默认false.这个属性用来绑定scope的属性直接赋给controller.可以为true或者和scope相同格式的对象. 此外使用此属性,要设置controller的别名,通常通过"co ...

  5. BZOJ3196 二逼平衡树 ZKW线段树套vector(滑稽)

    我实在是不想再打一遍树状数组套替罪羊树了... 然后在普通平衡树瞎逛的时候找到了以前看过vector题解 于是我想:为啥不把平衡树换成vector呢??? 然后我又去学了一下ZKW线段树 就用ZKW线 ...

  6. 为什么java代码中要避免多层深度for循环嵌套

    在开发中,一直强调代码的整洁和可读性.之前对于使用多层嵌套for循环,一直以为只是对代码可读性和逻辑梳理有影响.可能对性能也有影响,但是一直不知道对性能影响在哪.最近在看虚拟机方面的书,感觉有一个点应 ...

  7. 【敏捷】7.showcase,开发中必须引起重视的小环节

    有人说,测试者来自火星,开发者来自金星.这是因为软件测试员和软件开发者就好比一对冤家,里面的缘由说不清也道不明.开发代表着创造,而测试则代表着摧毁,因为测试的目的就是以各种方式不断地从开发出的产品中发 ...

  8. 并发系列(四)-----CAS

    一 简介 保证Java中的原子操做方式有两种方式  1 加锁(可以理解悲观锁机制)  2 CAS(可以理解为乐观锁机制)  CAS全称是Compare and Swap 即比较并替换.在JDK中许多地 ...

  9. PHP的学习路线规划

    第一阶段:WEB的快速入门 前期入门学习我们需要学一些HTML+CSS+JS前端的一些技术,这个阶段不需要太深入的学习,学习到可以制作出一个像样点的静态页面就可以了.因为大家是学习PHP,对于新人来说 ...

  10. 回顾下TCP/IP协议

    首先要知道什么是TCP/IP协议,从字面意思来看TCP是“Transmission Control Protocol”的缩写,也就是传输控制协议.IP是“Internet Protocol”的缩写,即 ...