多层包的java程序使用命令行编译、运行、打包

对于没有包层级的java程序,用命令行进行编译、运行、打包很简单。对于多层级包的java程序会有所不同。以如下程序为例

package HeadFirstJava.chapter01.guessGame;

public class GameLanucher {
    public static void main(String[] args) {
        GuessGame game = new GuessGame();
        game.startGame();
    }
}

可以看到,程序引入的包层级较深,此时用命令行进行运行和打包有一些不同

  1. 编译
    不关注在哪个包下,只要有java文件,用java c编译即可
  2. 运行
    需要到顶层包路径下,即HeadFirstJava所在目录运行以下命令:
java HeadFirstJava.chapter01.guessGame.GameLanucher 

多层包的java程序使用命令行编译、运行、打包_第1张图片

  1. 打包
    同样地,打包也需要到引入包的顶层目录下创建MANIFEST.MF文件。文件内容如下:
Manifest-Version: 1.0
Main-Class: HeadFirstJava.chapter01.guessGame.GameLanucher

然后执行以下命令:

jar cvfm myapp.jar MANIFEST.MF HeadFirstJava

注意只用管顶层包就行,而且只能写顶层包的路径,把顶层包下的所有类打包。不然就会发生找不到主类的错误
最后运行jar文件

你可能感兴趣的:(java,开发语言)