(七)javac编译
文章目录
所有操作在window下完成。
1.基本格式
javac [目标路径] [源文件]
目标路径即编译结果存放位置,后续详细讲解。源文件则为编译所需的原始文件,包括*.java 和jar包。
2.目标路径
目标路径为编译完成后*.class文件存放位置。
2.1 缺省项
目标路径可省略。如果省略则存放在当前位置。(前提是在当前目录运行cmd)。
javac Test.java
2.2 指定路径
指定路径需要参数-d,几种形式如下所示:
2.2.1 全路径
javac -d E:\javactest\ Test.java
生成的文件放在E:\javactest\下。
2.2.2 相对路径
(一)生成文件放在当前目录下,如果Test.java中如果有包名,则在子文件下。
javac -d . Test.java
(二)生成文件放在当前目录下classes,如果Test.java中如果有包名,则在子文件下。
javac -d ./classes Test.java
(三)生成文件放在当前目录下classes,如果Test.java中如果有包名,则在子文件下。
javac -d classes Test.java
3.源文件
源文件包括自己的*.java文件以及jar包。单个文件直接放文件名即可。
3.1 无第三方库
无第三方库时直接加文件,不同源文件之间用空格分开,对于含有空格的文件路径需要双引号。
3.1.1 基本方法
javac -d ./classes Test.java Test01.java
3.1.2 添加目录
除添加Test.java Test01.java两个文件外,还需要将当前目录src中所有*.java文件编译。
javac -d classes Test.java Test01.java src/*.java
3.1.3 添加大量文件
当大量文件存在时可将所有文件位置放在一个文件下,并采用@添加此文件。文件形式如下所示。

下述命令 会将Test.java 以及filelist.txt下所示所有文件打包。
javac -d classes Test.java @filelist.txt
3.2 添加第三方库
通过-classpath后者-cp添加。
3.2.1 基本方法
javac -d classes -classpath XXXX.jar @filelist.text
3.2.2 添加多个文件
用分号添加多个文件
javac -d classes ;XXXX.jar;d:\XXX\*.jar @filelist.text
4.生成jar包
通过如下命令即可生成jar包,即将classes\com\ii\LL01下的class打包成test.jar
jar cf test.jar classes\com\ii\LL01
(七)javac编译的更多相关文章
- javac编译不同目录的源码提示找不到符号
对于单个文件的且不引用其他类文件的java源码用javac编译大家都很熟悉即 javac mycode.java 但是如果这个文件引用到了其他的类文件,在进行编译的时候就会提示找不到符号,这时我们需要 ...
- javac 编译与 JIT 编译
编译过程 不论是物理机还是虚拟机,大部分的程序代码从开始编译到最终转化成物理机的目标代码或虚拟机能执行的指令集之前,都会按照如下图所示的各个步骤进行: 其中绿色的模块可以选择性实现.很容易看出,上图中 ...
- Javac编译和JIT编译
编译过程 不论是物理机还是虚拟机,大部分的程序代码从开始编译到最终转化成物理机的目标代码或虚拟机能执行的指令集之前,都会按照如下图所示的各个步骤进行: 其中绿色的模块可以选择性实现.很容易看出,上图中 ...
- javac编译原理(一)
我们都知道,计算机只能识别二进制语言,是不能直接识别java c c++等高级语言的.将高级语言转化成计算机可以是别的二进制语言,这个过程就叫编译. 有次面试,面试官问了一道“java的编译原理是什么 ...
- Javac编译与JIT编译
本文转载自:http://blog.csdn.net/ns_code/article/details/18009455 编译过程 不论是物理机还是虚拟机,大部分的程序代码从开始编译到最终转化成物理机的 ...
- Linux下使用javac编译
Linux下使用javac编译Hadoop程序 首先要配置好Hadoop, 给出两个教程 Hadoop安装教程单机/伪分布式配置Hadoop2.6.0/Ubuntu14.04 Hadoop集群安装配置 ...
- 使用javac编译zookeeper项目
这里记录zookeeper编译源代码上的一些细节的问题. 网上不少关于如何使用ant eclipse来构建zookeeper对应的eclipse工程的记录.这里就不再过多赘述.只做简单阐述. 这里主要 ...
- 【深入Java虚拟机】之七:Javac编译与JIT编译
转载请注明出处:http://blog.csdn.net/ns_code/article/details/18009455 编译过程 不论是物理机还是虚拟机,大部分的程序代码从开始编译到最终转化成物理 ...
- javac编译后运行提示找不到或无法加载主类
第一种常见错误: package demo_01; public class hello { public static void main(String[] args) { System.out.p ...
- Javac编译原理 《深入分析java web 技术内幕》第四章
javac编译的四个主要的流程: 词法分析器:将源码转换为Token流 将源代码划分成一个个Token(找出java语言中的关键字) 语法分析器:将Token流转化为语法树 将上述的一个个Token组 ...
随机推荐
- Java 基本数据类型极限值
public static void main(String[] args){ System.out.println("Integer.MIN_VALUE = " + Intege ...
- TreeMap剖析
TreeMap实现有序要么就是外界传递进来Comparator对象,要么就使用默认key的Comparable接口(实现自然排序) 最后我就来总结一下TreeMap要点吧: 由于底层是红黑树,那么时间 ...
- Redis的持久化机制是什么?各自的优缺点?
Redis 提供两种持久化机制 RDB 和 AOF 机制: 1.RDBRedis DataBase)持久化方式:是指用数据集快照的方式半持久化模式) 记录 redis 数据库的所有键值对,在某个时间点 ...
- 快学Scala 第十六课 (shell调用,正则表达式,正则表达式组,stripMargin妙用)
shell调用:(管道符前加#号,执行shell用!) import sys.process._ "ls -al" #| "grep x" ! 正则表达式:(r ...
- MIPI CSI2-TX接口基于FPGA实现
MIPI CSI2-TX用途: 跟海思的3559A芯片进行图像数据传输: MIPI CSI2-TX接口特性: xilinx 7系列芯片最大支持1.25Gbps: 最大支持lanes数量为4: 支持的图 ...
- 第一次 在Java课上的编程
第一次在java课上的编程(使用参数输入求和): 代码: public class He { public static void main(String[] args) { ...
- 【NOIP2003】传染病控制
Description 问题背景: 近来,一种新的传染病肆虐全球.蓬莱国也发现了零星感染者,为防止该病在蓬莱国大范围流行,该国政府 决定不惜一切代价控制传染病的蔓延.不幸的是,由于人们尚未完全认识这种 ...
- redis数据库的使用
一.安装redis与可视化操作工具 可视化工具:RedisDesktopManager redis载地址:https://github.com/MSOpenTech/redis/releases. 二 ...
- VMware15.5版本下安装Windows_Server_2008_R2
一.新建虚拟机 第一步:打开VMware15.5虚拟机,在欢迎界面点击新建虚拟机: 第二步:选择典型(推荐)选项-->适用于新手,单击下一步: 第三步:选定最后一项稍后安装操作系统,单击下一步: ...
- Visual Studio 生成事件这件小事
在上一篇<Visual Studio 调试技巧>中,介绍了一些VS常用的调试操作,今天,聊一聊VS当中一个不太常见,但有时又有妙用的操作——VS生成事件. 一.什么是VS生成事件 简单来说 ...