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 ...
随机推荐
- hdu4089Activation 概率dp
//一条队列对于第一个人的情况 //概率p1:队列保持不变 //p2:第一个人到队尾 //p3:第一个人出队 //p4:系统崩溃 //队列中有N个人,Tomato 在第M位置,求系统崩溃.Tomato ...
- angularjs ng-app
<!DOCTYPE HTML> <html ng-app> //ng-app是初始化指令,整个页面都会被angularjs解析,写在div或者其他标签上表示只是局部的div和标 ...
- Data Member Order
https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/data-member-order In some appl ...
- [poj 2912] Rochambeau 解题报告 (带权并查集)
题目链接:http://poj.org/problem?id=2912 题目: 题目大意: n个人进行m轮剪刀石头布游戏(0<n<=500,0<=m<=2000) 接下来m行形 ...
- Dictionary subtraction
Finding the words from the book that are not in the word list from words.txt is a problem you might ...
- 支付宝SDK集成加密库迁移错误问题
最近项目中集成了第三方支付,主要有微信支付和支付宝支付,当然这里我主要想说一下关于集成支付宝支付. 首先从支付宝开发者网站上下载下来了SDK以及DEMO,我们就可以根据DEMO进行分析以及集成.支付宝 ...
- Unity3D 之 C# 脚本
引用类型 :class ,interface, 数组 , delegate , object ,string (object 是C#中所有类型,包括所有的值类型和引用类型的根类,string 类型是一 ...
- 初学javascript,写一个简单的阶乘算法当作练习
代码如下: <script> var a = prompt("请输入值"); function mul(a){ if(a==1){ return 1; } return ...
- UVA-11134 Fabled Rooks 贪心问题(区间贪心)
题目链接:https://cn.vjudge.net/problem/UVA-11134 题意 在 n*n 的棋盘上,放上 n 个车(ju).使得这 n 个车互相不攻击,即任意两个车不在同一行.同一列 ...
- [NOIP2010提高组]引水入城
题目:洛谷P1514.Vijos P1777.codevs1066. 题目大意:有一个$n×m$的矩阵,每个点都有一个高度,可以在第一行的任意点建立蓄水厂.现在要把水输到最后一行的所有点上,规定水只能 ...