Hello World (记事本+命令行)

读完这篇博客。你将对下面几点更有心得:
- Java 中的当前路径、类路径等概念
- javac、java 命令的综合使用
- jar 包的创建及引用

创建文件夹,准备測试源代码

  • 创建例如以下文件夹
    測试项目文件夹结构
    当中,bin 文件夹用于存放 Class 字节码文件。jar 文件夹用于存放我们自己打包的 jar 文件,src 下是项目源代码。
  • 编写測试源文件
    分别编写 Vehicle.java、Person.java、MainClass.java,内容例如以下:
package com.george.jvm.test;
public class Vehicle{
    private String name;
    private Double cost;

    // getters setters
    public void setName(String name){this.name = name;}
    public String getName(){return name;}

    public void setCost(Double cost){this.cost = cost;}
    public Double getCost(){return cost;}
}
import com.george.jvm.test.Vehicle;
public class Person{
    private Integer id;
    private String name;
    private Integer age;
    private Vehicle v;

    // getters setters
    public Integer getId(){return id;}
    public void setId(Integer id){this.id = id;}

    public String getName(){return name;}
    public void setName(String name){this.name = name;}

    public Integer getAge(){return age;}
    public void setAge(Integer age){this.age = age;}

    public Vehicle getVehicle(){return v;}
    public void setVehicle(Vehicle v){this.v = v;}

    // method
    public void eat(){
        System.out.println("Hi! My name is  "+ name +" and I am " + age +" years old!");
    }

    public void drive(){
        System.out.println("Look! I am driving " + v.getName() + " now!");
    }

}
import com.george.jvm.test.Vehicle;
public class MainClass{
    public static void main(String args[]){
        Vehicle v = new Vehicle();
        v.setName("Benz");
        v.setCost(1000000.00);
        Person p = new Person();
        p.setId(1);
        p.setName("张三");
        p.setAge(20);
        p.setVehicle(v);
        p.eat();
        p.drive();
    }
}

打包外部依赖 Jar 文件

  • 编译外部依赖源代码,输出到 bin 文件夹
    编译外部依赖源文件

    ① -classpath 选项能够指定输入源文件文件夹
    ② -d 能够指定输出字节码文件夹
    ③ 多个输入源文件能够使用通配符或用空格分隔

    运行命令后,会发如今 bin 文件夹下会生成一个带包名的 Vehicle.class 字节码文件:
    编译外部依赖源文件结果

  • 打包外部依赖字节码,输出到 jar 文件夹
    打包外部依赖字节码文件

    ① jar 打包命令中。參数 c(create) 表示创建归档文件,v(view) 表示显示创建过程中的具体信息。f(file) 指定归档文件名称
    ② 注意打包要带上包名
    ③ 多个 jar 包可使用空格分隔。

    详解可使用 jar 命令

    打包结果例如以下:
    打包外部Jar结果

编译、运行測试 Java 源文件

  • 编译 Person.java、MainClass.java,并输出到 bin 文件夹
    编译測试源文件

    ① -cp 选项同 -classpath

    编译结果例如以下:
    编译源文件结果

  • 运行 MainClass
    运行測试类

    ①注意 java-classpath ..jarVehicle.jar; MainClass中,.jar 后的 “;” ,且”;”后还要跟” “[空格]
    ② 例如以下命令也是可行的:
    运行測试类的还有一种命令

上面的測试在笔者环境下通过,如有不妥之处。请不吝赐教,留言。

最后给出相关优秀博客出处:

  1. javac、java 命令參数详解
  2. 命令行运行 Java 程序
  3. JAVA和JAVAC 命令行
【推广】 免费学中医,健康全家人
原文地址:https://www.cnblogs.com/zhchoutai/p/8434996.html