用jar包运行带GUI的java游戏
这是从某论坛下载的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游戏的更多相关文章
- springboot项目jar包运行
springboot项目jar包运行 参考 Linux后台运行java的jar包 步骤 进入maven项目中,打包项目. mvn package -Dmaven.test.skip=true 运行ja ...
- AndroidStudio开发Java工程(解决java控制台中文打印乱码+导入jar包运行工程)
这篇分享一点个人AS开发java工程经验,虽然有时候还是得打开eclipse来运行java项目,但能用AS的时候还是尽量用AS,毕竟一个字,爽~ 废话不多说,进入正题. 一.开发Java工程 你有两种 ...
- 双击jar包运行方法
方案一 在jar包同级,写个bat文件,如下 java -jar Xxx.jar pause 方案二 右击jar文件 ->打开方式->选择安装的jre/bin/javaw.exe. 双击依 ...
- jar包运行出现中文乱码的问题
写了一个java Project,在eclipse里运行的时候不会出现乱码,但是用jar包运行的时候,出现了中文乱码. 我将它包装成了一个文件,这样就在没有jre的机器上也可以运行了.start.ba ...
- Spring Boot部署之jar包运行
上篇阐述了Spring Boot war部署项目,本篇阐述另一种运行方式:jar包运行. 一.打jar包 1.修改pom.xml配置 2.执行package(对于module执行package之前需要 ...
- Spark2 jar包运行完成,退出spark,释放资源
import org.apache.spark.sql.SparkSession import org.apache.spark.sql.Dataset import org.apache.spark ...
- DOS窗口带jar包运行java程序
由于工作环境的问题,有过一次这样的测试,需要在DOS窗口运行带有jar包的java程序 编译命令如下: javac -Djava.ext.dirs=./lib Test.java 或 javac -D ...
- zzw原创_cmd下带jar包运行提示 “错误: 找不到或无法加载主类 ”
在windows下编译java,由于是临时测试一下文件,不想改classpath,就在命令行中用 -cp 或classpath引入jar包,用javac编译成功,便使用java带-cp 或classp ...
- java jar包运行方法
http://java-beginner-liyun.iteye.com/blog/736752一.怎么打jar包 第一步:选中要打jar包的工程 第二步:鼠标右击,选择Export... 第三步:选 ...
随机推荐
- 使用Android studio搭建Android环境
最近安装Android studio遇到了很多问题,现在总结一下安装过程 因为我的电脑是AMD的cpu,好像不能使用虚拟机(具体原因不知道),所以我使用 软件+手机 去开发APP 先说一下使用And ...
- 《Java程序设计》第二学习总结
<Java程序设计>第二学习总结 教材学习内容总结 类型 byte(字节) shot(短整型) int(整型) long(长整型) float(浮点型) double(双精度) char( ...
- Cannot find an exact (case-sensitive) match for 'crtbp.m
http://www.ilovematlab.cn/forum.php?mod=viewthread&tid=277326&page=1&extra=#pid3296048
- JavaWeb总结(三)
什么是Servelt - 是运行在Web服务器或应用服务器上的Java程序 - 在Web上创建动态内容的有效而强大的解决方案 - 由容器来管理生命周期与Web服务器交互 Servlet规范的组成 Ja ...
- PostgreSQL参数学习:deadlock_timeout
磨砺技术珠矶,践行数据之道,追求卓越价值回到上一级页面:PostgreSQL基础知识与基本操作索引页 回到顶级页面:PostgreSQL索引页[作者 高健@博客园 luckyjackgao@g ...
- 前端- html -总结
html概述 head标签 title 显示网站的标题 meta 提供有关页面的原信息 link 链接css资源文件.网站图标 style 定义内部样式表 script 链接脚本js文件 body标签 ...
- 【HNOI2014】道路堵塞
题面 题解 解法一 这个思路要基于以下一个结论: 当你删掉某条边\((x,x+1)\)时,最短路路线为:\(1\to x(\leq u)\to y(>u) \to n\),并且\(x\to y\ ...
- Openstack入门篇(十三)之云主机创建
1.知识回顾与端口总结 service 功能 MySQL 为各个服务提供数据存储 RabbitMQ 为各个服务之间通信提供交通枢纽 Keystone 为各个服务器之间通信提供认证和服务注册 Glanc ...
- 有哪些 Bootstrap 的学习案例?
bootstrap经典实用案例 bootstrap经典实用案例(非常详细),从菜鸟到高手的过程是艰辛的,你渴望救助.这本教程就是你无言的助手,默默的帮你到永远. 带奋斗一起飞翔,因为有了它,让我拥有理 ...
- 当使用了相对路径 <base href="<%= basePath %>" /> 后,全局都只能使用相对路径
<% String path = request.getContextPath(); String basePath = request.getScheme() + "://" ...