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
命令打包结果例如以下:
编译、运行測试 Java 源文件
编译 Person.java、MainClass.java,并输出到 bin 文件夹
① -cp 选项同 -classpath
编译结果例如以下:
运行 MainClass
①注意
java-classpath ..\jar\Vehicle.jar; MainClass
中,.jar 后的 “;” ,且”;”后还要跟” “[空格]
② 例如以下命令也是可行的:
上面的測试在笔者环境下通过,如有不妥之处。请不吝赐教,留言。
最后给出相关优秀博客出处:
Hello World (记事本+命令行)的更多相关文章
- C#的命令行工具
在最开始学java的时候我们一般用 记事本 + 命令行,在命令行里边进行编译和运行, C#也有类似的东西(csc工具),在学习C#语言的时候可以用 文本编辑器来编写代码,然后用C#的命令行工具来编译 ...
- ASP.NET Core:CMD命令行+记事本 创建Console程序和Web Application
今天看了Scott关于ASP.NET Core的介绍视频,发现用命令行一步一步新建项目.添加Package.Restore.Build.Run 执行的实现方式,更让容易让我们了解.NET Core的运 ...
- 干掉命令行窗口下MySql乱码
晚上重温dos窗口操作mysql的时候,遇到了一个巨蛋疼的问题------>中文验证码 -->_-->,所以找了找资料弄懂了怎么解决乱码问题,,小记一下. 新建一个表 create ...
- Git命令行(转用于学习和记录)
Git命令行介绍和使用说明(持续更新) 参见:<Git 中文简体教程> 一. 命令“git”或者“git help”查询常用命令 [add]: “git add”——不但是用来添加不在版本 ...
- Mac系统终端命令行不执行命令 总出现command not found解决方法
配置过安卓开发环境,改过bash_profile这个文件,最后不知怎么的只有cd命令能执行,我猜测可能修改bash_profile文件后没有保存 导致的 保存命令是: source .bas ...
- 怎样用命令行编译C#程序
1. 把程序拷贝至记事本 2.另存为*cs格式 3.找到VS2015提供的命令提示 4.要把命令行指向程序所在的目录(可以有个小软件) 如果在其他的盘符,先敲D:,然后再cd 5.输入csc hell ...
- SMTP协议--在cmd下利用bat命令行发送邮件
SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议 选择‘开始’-‘运行’,输入cmd,进入命令提示符窗口. Windows7默认没有开始Telnet服务,请在运 ...
- VS2015——命令行下编译、静态库动态库制作以及断点调试
c程序编译流程 程序的基本流程如图: 1. 预处理 预处理相当于根据预处理指令组装新的C/C++程序.经过预处理,会产生一个没有宏定义,没有条件编译指令,没有特殊符号的输出文件,这个文件的含义同原本的 ...
- 命令行启动win7系统操作部分功能
control.exe /name microsoft.folderoptions 启动资源管理器的 文件夹属性 选项卡 control.exe /name Microsoft.AddHardware ...
随机推荐
- java9新特性-4-模块化系统: Jigsaw与Modularity
1.官方Feature 200: The Modular JDK 201: Modular Source Code 220: Modular Run-Time Images 260: Encapsul ...
- bootstrap如何自定义5列
废话少说,先上代码: <!DOCTYPE html><html> <head> <meta charset="utf-8"> < ...
- 2、go Defer
package main import ( "fmt" "os") func main() { f:=createFile("D:\\webfront ...
- Python3基础笔记--常用模块
目录: 参考博客:Python 之路 Day5 - 常用模块学习 Py西游攻关之模块 一.time模块 二.random模块 三.os模块 四.sys模块 五.hashlib模块 六.logging模 ...
- bzoj1457: 棋盘游戏 SG函数 Nim
Code: #include<cstdio> #include<cstring> using namespace std; #define maxn 1003 #define ...
- Tomcat IO阻塞异常
tomcat的maxThreads.acceptCount(最大线程数.最大排队数) tomcat 的Connector配置如下 <Connector port="8080" ...
- vue组件递归的一些理解
自己做个小项目练手,需要用到组件递归,网上查了一些资料,每个代码片段都认识,但是连起来,就一团浆糊. 既然人傻就多思考吧.不明白的点有以下: 1.组件怎么自己调用自己,函数的递归是就是在functio ...
- Linux中常用命令(文件与目录)
1.pwd 查看当前目录(Print Working Directory) 2.cd 切换工作目录(Change Directory) (1)格式:cd [目录位置] 特殊目录: .当前目录 ..上一 ...
- unity C# StackOverflowException
有时候图省事,属性这样写public int pageCount{get{return pageCount;}set{pageCount=value;}}可能会报栈溢出的错误, StackOverfl ...
- ArcGIS api for javascript——加入两个动态地图
描述 这个示例表现如何加两个动态地图到一个地图.动态服务按用户缩放或平移服务器每次绘制的地图,ArcGISDynamicMapServiceLayer表示ArcGIS JavaScript API动态 ...