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 ...
随机推荐
- 51nod-1296: 有限制的排列
[传送门:51nod-1296] 简要题意: 有一个集合,集合中的数为1到n 给出a限制条件,a[i]表示第a[i]位置的数要比相邻位置的数要小 给出b限制条件,b[i]表示第b[i]位置的数要比相邻 ...
- UITextField限制输入长度
首先,汉字的输入时的联想词在输入到TextFiled时,并不会走 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersIn ...
- js中Json字符串如何转成Json对象(4种转换方式)
js中Json字符串如何转成Json对象(4种转换方式) 一.总结 一句话总结:原生方法(就是浏览器默认支持的方法) 浏览器支持的转换方式(Firefox,chrome,opera,safari,ie ...
- MDNS的漏洞报告——mdns的最大问题是允许广域网的mdns单播查询,这会暴露设备信息,或者被利用用于dns放大攻击
Vulnerability Note VU#550620 Multicast DNS (mDNS) implementations may respond to unicast queries ori ...
- MinGW - 安装和配置 / MinGW - Howto Install And Configure
MinGW在线安装程序下载地址:http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get- ...
- shell加法运算及i++
shell中不支持像普通c语言中的i++操作,默认都是字符串操作,但是通过以下几种方式可以进行变量的自增加 1.linux 用let 表示算术表达式 如下: i=0 let i +=1 或者 let ...
- Keyboard input
Keyboard input Python provides a build-in function called raw_input (in version 2.x) that gets input ...
- 如何启动和关闭MySQL?(四)
分为: 图形化 命令行 方法一:在“计算机”的图标上右键,然后选择“管理”,双击“服务和应用程序”,然后选择“服务”,找到“MySQL”这个服务,然后点击“右键”,就可以进行“停止”和“重新启动”的操 ...
- 使用Java操作Redis(一)
Redis是一款基于key-value的数据库服务器,安装完成后我们可以通过redis-cli使用Redis提供的命令完成各种操作.redis-cli实际上就是一款客户端,和redis-server建 ...
- Linux权限管理(用户、组、文件管理)
一. Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示. 1. 文件查看类命令cat,tac, head, tail, more, less, ls ,file: -ls : l ...