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编译的更多相关文章

  1. javac编译不同目录的源码提示找不到符号

    对于单个文件的且不引用其他类文件的java源码用javac编译大家都很熟悉即 javac mycode.java 但是如果这个文件引用到了其他的类文件,在进行编译的时候就会提示找不到符号,这时我们需要 ...

  2. javac 编译与 JIT 编译

    编译过程 不论是物理机还是虚拟机,大部分的程序代码从开始编译到最终转化成物理机的目标代码或虚拟机能执行的指令集之前,都会按照如下图所示的各个步骤进行: 其中绿色的模块可以选择性实现.很容易看出,上图中 ...

  3. Javac编译和JIT编译

    编译过程 不论是物理机还是虚拟机,大部分的程序代码从开始编译到最终转化成物理机的目标代码或虚拟机能执行的指令集之前,都会按照如下图所示的各个步骤进行: 其中绿色的模块可以选择性实现.很容易看出,上图中 ...

  4. javac编译原理(一)

    我们都知道,计算机只能识别二进制语言,是不能直接识别java c c++等高级语言的.将高级语言转化成计算机可以是别的二进制语言,这个过程就叫编译. 有次面试,面试官问了一道“java的编译原理是什么 ...

  5. Javac编译与JIT编译

    本文转载自:http://blog.csdn.net/ns_code/article/details/18009455 编译过程 不论是物理机还是虚拟机,大部分的程序代码从开始编译到最终转化成物理机的 ...

  6. Linux下使用javac编译

    Linux下使用javac编译Hadoop程序 首先要配置好Hadoop, 给出两个教程 Hadoop安装教程单机/伪分布式配置Hadoop2.6.0/Ubuntu14.04 Hadoop集群安装配置 ...

  7. 使用javac编译zookeeper项目

    这里记录zookeeper编译源代码上的一些细节的问题. 网上不少关于如何使用ant eclipse来构建zookeeper对应的eclipse工程的记录.这里就不再过多赘述.只做简单阐述. 这里主要 ...

  8. 【深入Java虚拟机】之七:Javac编译与JIT编译

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/18009455 编译过程 不论是物理机还是虚拟机,大部分的程序代码从开始编译到最终转化成物理 ...

  9. javac编译后运行提示找不到或无法加载主类

    第一种常见错误: package demo_01; public class hello { public static void main(String[] args) { System.out.p ...

  10. Javac编译原理 《深入分析java web 技术内幕》第四章

    javac编译的四个主要的流程: 词法分析器:将源码转换为Token流 将源代码划分成一个个Token(找出java语言中的关键字) 语法分析器:将Token流转化为语法树 将上述的一个个Token组 ...

随机推荐

  1. Python日志产生器

    Python日志产生器 写在前面 有的时候,可能就是我们做实时数据收集的时候,会有一个头疼的问题就是,你会发现,你可能一下子,没有日志的数据源.所以,我们可以简单使用python脚本来实现产生实时的数 ...

  2. JS思考遍历对象

    var json={ “name”:”小明”, “age”:”10”, “sex”:”男” } for(var key in json); //key只是个变量名 console.log(key); ...

  3. Spring MVC-从零开始-未完待续

    Spring MVC 之 json格式的输入和输出 Spring定时器简单使用 Spring mvc 拦截器的简单使用 Spring MVC文件上传

  4. redis-计数信号量

    1.基本概念 2.信号量类 3.测试类 4.测试日志 基本概念 计数信号量是一种锁,它可以让用户限制一项资源最多能够同时被多少个进程访问, 技术信号量和其他锁的区别:当客户端获取锁失败时,客户端会选择 ...

  5. Mybatis的xml文件对大于号小于号的特殊处理!

    当我们需要通过xml格式处理sql语句时,经常会用到< ,<=,>,>=等符号,但是很容易引起xml格式的错误,这样会导致后台将xml字符串转换为xml文档时报错,从而导致程序 ...

  6. ArcGIS Server10.1 动态图层服务

    动态图层的应用场景: 1 改变现有图层:符号,渲染方式和版本,这些都可以通过客户端请求的时候给定相应的参数来进行设置,从而来达到轻易改变地图的效果. 2 添加地图服务中没有的图层 添加的数据可以是矢量 ...

  7. java架构之路-(spring源码篇)springIOC容器源码解析(上)

    我们这次来叭叭一下Spring的源码,这次博客主要来说说Spring源码,先粗略的撸一遍,下篇博客选几个重点去说,由于过于复杂,我也是看了一点点,我们先来过一遍源码,然后上流程图,最后我们再回头总结一 ...

  8. 快学Scala 第四课 (多维数组,与Java集合的互操作)

    Scala二维数组的定义: val arr2 = Array.ofDim[String](2, 2) arr2(0)(0) = "aa" arr2(1)(0) = "bb ...

  9. 【Java】Java 单文件下载及重命名

    代码(仅供参考): /* * 另存为 */ @RequestMapping("/saveAs.do") public @ResponseBody void saveAs(Strin ...

  10. 深入理解SpringCloud之Gateway

    虽然在服务网关有了zuul(在这里是zuul1),其本身还是基于servlet实现的,换言之还是同步阻塞方式的实现.就其本身来讲它的最根本弊端也是再此.而非阻塞带来的好处不言而喻,高效利用线程资源进而 ...