网站首页 > java教程 正文
1.为什么要搞定 javac 命令
1.javac 是java中的编译源代码的命令工具,将.java文件编译成 .class 文件;
2.由于当下为了提高开发效率,大多数的开发工作都在 java的 集成开发环境中进行,因此,
也就很少有机会直接使用javac命令来编译我们的代码;
2.javac 命令使用的两个场景
1. javac 源文件 :
直接编译源文件,并将编译后的.class文件放到与源文件统一目录下;
2. javac 源文件 -d 编译文件输出路径 :
编译源文件,并将编译后的 .class 文件 放到 -d 参数后的目标路径中;
3. javac 源文件 -d 编译文件输出路径 -encoding utf-8 :
编译文件, 并将编译后的.class文件放到 -d参数后的目标路径中,
且指定编码格式 为utf-8,解决运行时中文乱码问题。
4.javac @sourcesList_file -d 编译我呢见输出路径 -encoding utf-8 :
4.1 @soucesList_file : 文件中可以写多个java源文件,这种方式适合编译较大型的java项目,
4.2 每一个java源文件之间用回车符进行分割;
4.3 存在多级目录的,在windows下使用`\` ,在linux 下使用 '/' :
windows : 'src\com\northcastle\xxx.java'
linux : 'src/com/northcastle/xxx.java'
2.1 单文件的编译
2.1.0 项目准备
新建一个目录,用于存放我们的项目:
目录结构如下:
2.1.1 java文件内容
》 Hello.java 文件内容如下:
public class Hello {
public static void main(String[] args) {
System.out.println("hello world");
}
}
2.1.2 执行编译
打开命令行窗口,进入到 test 文件夹下面;
执行命令如下: javac .\src\Hello.java -d target -encoding utf-8
如果没有报错,则执行成功,去target 目录下查看,会生成 Hello.class 文件
2.1.3 运行程序
进入到 target 目录中,使用 java 命令来执行程序。
java Hello
猜你喜欢
- 2024-11-17 Maven 干货: 简单两步,Maven Wrapper 接管你的Java项目编译!
- 2024-11-17 Java字节码指令:invokestatic(0xB8)
- 2024-11-17 Java小白入门教程(2)——基本语法&变量
- 2024-11-17 Jvm从编译到执行
- 2024-11-17 这样做优化,实现 0.059s 启动一个SpringBoot项目
- 2024-11-17 Java 8:一文掌握 Lambda 表达式 | CSDN 博文精选
- 2024-11-17 面试官:Java从编译到执行,发生了什么
- 2024-11-17 五、编写第一个Java程序
- 2024-11-17 掌握这些Maven命令,让你的Java项目开发更高效!
- 2024-11-17 深入解析java虚拟机:编译概述,即时编译技术
你 发表评论:
欢迎- 最近发表
-
- 你真的会用 Java 中的线程池吗?多个企业级线程池工具类封装实践
- 线程池的实现原理、优点与风险、以及四种线程池实现
- Java线程池ThreadPoolExecutor实现原理剖析
- 深入分析线程池的实现原理(线程池是干嘛的)
- 一文搞懂JAVA线程池工作原理(java线程池的工作流程)
- Java线程池的工作原理(java线程池的实现原理)
- 5分钟读懂C#中TcpClient、TcpListener和Socket三个类的角色
- JVM对象的创建过程(jvm运行过程中创建的对象一般存放在方法区)
- 对象组成与Java内存模型JMM分析(java对象在内存中存储的结构)
- JVM对象内存分配详细过程(栈上分配->TLAB->老年代->Eden区)
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)