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. 第十一周java课堂测试

    Main.java package class_third_copy; import java.util.Scanner; import classthird.Test; import classth ...

  2. SOFAJRaft—初次使用

    SOFAJRaft-初次使用 SOFAJRaft 是基于 Raft 算法的生产级高性能 Java 实现,支持 MULTI-RAFT-GROUP.应用场景有 Leader 选举.分布式锁服务.高可靠的元 ...

  3. Redis系列---操作命令及数据类型

    本章将简单介绍下,Redis里面常用的数据类型以及我们常用到的一些命令,let's go 准备环境: Redis  详细见上一个章节 我们接下来操作的命令用的是Redis自带的客户端工具,在安装red ...

  4. go语言标准库之http/template

    html/template包实现了数据驱动的模板,用于生成可对抗代码注入的安全HTML输出.它提供了和text/template包相同的接口,Go语言中输出HTML的场景都应使用text/templa ...

  5. 一个原生JS实现的不太成熟的贪吃蛇游戏

    一个初初初初级前端民工 主要是记录一下写过的东西,复习用 大佬们如果看到代码哪里不符合规范,或者有更好写法的,欢迎各位批评指正 十分感谢 实现一个贪吃蛇游戏需要几步? 1.有地图 2.有蛇 3.有食物 ...

  6. vim设置golang语法高亮 (Centos)

    Go语言自带vim 的语法高亮文件. http://www.golangtc.com/download 下载   go1.3.3.src.tar.gzgo1.3.3 (source only),解压缩 ...

  7. vue路由跳转的方式

    vue路由跳转有四种方式 1. router-link 2. this.$router.push() (函数里面调用) 3. this.$router.replace() (用法同push) 4. t ...

  8. mvvm的初步思想

    1.Object.defineProperty(obj,key,desc); 用法:1.给对象新增属性和特性 2.修改对象属性值和特性 desc(属性特性): 1.enumerable:boolean ...

  9. Spring5源码解析6-ConfigurationClassParser 解析配置类

    ConfigurationClassParser 在ConfigurationClassPostProcessor#processConfigBeanDefinitions方法中创建了Configur ...

  10. 前端Vue知识小白

    感觉是已好久没写博文了.今日难得有时间,便写一篇文章.此文章是关于前端知识的,我本身是后端,因工作或其他需要,便学习了前端Vue.此文章是在菜鸟教程上学习的.那么下面进入正文! 首先,Vue.js是一 ...