写了一个Breakout的小游戏,就是打砖块。
文件目录如下:
=======
|__Breakout.java //程序文件
| __ Breakout.class //编译生成的class文件
| __acm.jar //引用的外部jar包
| __bounce.au //程序中加载的声音文件
前提:
编译java文件,生成Breakout.class文件。我的例子是在eclispe里建工程,运行时直接生成的。因为eclipse的export不能将外部包也导入,所以转用命令行。
步骤1:
新建menifest-Breakout文件(无后缀名),内容如下:
1Main-Class: Breakout
2Class-path: acm.jar
3
说明:
- 这个文件对应于参数里的 m : 包含指定清单文件中的清单信息
- 冒号后面必须有空格
- 写完后文件末尾要且一个空行
- 如果文件开头有package /your/package/语句,应该把完整包路径(/your/package/xxx.java)写上。
- 引用到外部jar的工程,应该在manifest中定义好Class-Path属性。
步骤2:
打包。
1jar -cvmf menifest-Breakout Breakout.jar Break.class bounce.au
说明:
- c参数:告诉jar命令来创建新的文件,即jar文件。全称java archive.
- v参数:如同linux下常见的,用来在标准输出中生成详细输出。
- m参数:用来指定清单文件,即上面的manifest-Breakout文件
- f参数: 用来指定要生成的jar文件的文件名。对应于命令里的:Breakout.jar
- 如果需要将别的文件一起打包进去,只需要在命令后面直接加上该文件名即可,如bounce.au。
步骤3:
运行
java -jar Breakout.jar
说明:
- 需要将生成的Breakout.jar与外部jar文件acm.jar文件放在同一目录下。
- 指定打开程序为时,双击可以运行。
- 新建一个Breakout.bat文件,将上面的命令写进去,双击也可运行。
疑问:
为什么在Ubuntu上运行该程序时,小球的速度快简直不能玩啊?在WIN上速度正常。
难道是因为linux上运行的快?