javac 命令

原文链接:http://blog.csdn.net/hudashi/article/details/7058998   http://blog.csdn.net/hudashi/article/details/7058999
javac [ options ] [ sourcefiles ] [ @files ]
@files        一个或多个对源文件进行列表的文件。就是把源文件列表写入到文件中,将文件作为参数

为缩短或简化javac命令,可以把要编译的java源文件名列在一个文件,文件名之间用空格或回车进行分割,这就适用于源文件很多的情况

javac -d clsasses @src.txt

src.txt文件的内容:src\com\robin\Hello.java src\com\robin\People.javasrc\com\hubin\Util.java

参数

-d 目录

指定生成的class目标文件的目录
如果文件是有包结构的,会自动按照包结构生成文件夹
如果没有指定-d,class文件和源文件在同一个目录下面

-bootclasspath,-extdirs,-classpath和-cp

JDK在编译一个java源文件时,搜索类文件的方式和顺序如下:
    Bootstrap classes,Extension classes,User classes
Bootstrap默认的是JDK自带的jar或zip文件,它包括jre\lib下rt.jar等文件,JDK首先搜索这些文件.
可以通过-bootclasspath来设置它。文件之间用分号";"进行分割。

Extension默认的是位于jre"lib"ext目录下的jar文件,JDK在搜索完Bootstrap后就搜索该目录下的jar文件.
可以通过-extdirs来设置。文件之间用分号";"来进行分割

User classes搜索顺序为当前目录、环境变量 CLASSPATH、-classpath。
-cp 和 -classpath 是同义词,参数意义是一样的。classpath参数太长了,所以提供cp作为缩写形式
它们用于告知JDK搜索目录名、jar文档名、zip文档名,用分号";"进行分隔。

-encoding

设置源文件编码名称,例如UTF-8

-verbose

冗长输出。开启该参数,你将看到编译器编译java源码的详细过程

-D 是设置系统的属性
当我们引入外部jar包的时候,使用-classpath、-cp 指定jar包,如果要指定多个jar,需要使用;隔开(Linux下为:),必须一个一个写,当jar包太多的时候,可以使用:
-Djava.ext.dirs=lib  其中lib是存放外部jar包的文件夹

编译的例子

javac -d classesPath -Djava.ext.dirs="lib" -encoding UTF-8  src/puma/*.java

java用于运行java程序,比较简单,注意两点

1,可以使用参数 -cp指定运行时以来的包

2,对于带包名字的类,要上完整的包名

时间: 2024-10-23 14:49:16

javac 命令的相关文章

ubuntu下使用java、javac命令行编译工程

一.java和javac命令行 (1)javac命令行 javac.exe用于编译java源文件,生成.class文件 语法:javac  [option]  source 常用的[option]选项: A.-classpath  <路径>(-cp缩写):指定要使用的类路径或要使用的jar包的路径(jar文件.zip文件(里面都是错啦搜索文件)),使用后 会覆盖CLASSPATH的设定 B.-d  <路径> :指定源文件编译后生成.class文件的存放位置 (2)java命令行 j

eclipse中的javac命令与java命令

一.eclipse的javac命令:当eclipse对.java(源文件)文件进行保存操作时(快捷键ctrl+s),会执行javac命令.见上图,Default output folder(默认输出文件):为clss文件的保存位置. 二.eclipse的java命令:见上图,当选中该java文件后,执行java Application(快捷键F11)方法,会运行该class文件,如该class文件未生成,则先执行javac命令,也就是保存该java文件,再运行.

JAVA和JAVAC 命令行

转自:http://www.blogjava.net/pdw2009/archive/2008/06/12/207413.html?opt=admin javac和java命令行中的-classpath选项这是个很基础的问题,但是因为基本上都是用现有的IDE工具 来开发java程序,所以很少有人意识到这一点.javac-classpath,设定要搜索类的路径,可以是目录,jar文件,zip文件(里面都是class文件),会覆盖掉所有在CLASSPATH里面的设定.-sourcepath, 设定要

JAVAC 命令详解

转自:http://jeffchen.iteye.com/blog/395671 结构 javac [ options ] [ sourcefiles ] [ @files ] 参数可按任意次序排列. options命令行选项.sourcefiles一个或多个要编译的源文件(例如 MyClass.java).@files一个或多个对源文件进行列表的文件. 说明 javac 有两种方法可将源代码文件名传递给 javac: 如果源文件数量少,在命令行上列出文件名即可. 如果源文件数量多,则将源文件名

ant学习之javac命令

<?xml version="1.0" ?> <project name="antCopy" default="compile" basedir="../"> <target name="clean"> <delete dir="${basedir}/build" /> </target> <target name=&qu

ZT : JAVA和JAVAC 命令行;java 带有包名编译并运行,附带外部依赖jar包运行

ZT: https://blog.csdn.net/just3do/article/details/68957618 有时候写个小测试,不想开idea,就用cmder,但是老忘记怎么编译,就copy别人的一份博客. javac和java命令行中的-classpath选项 这是个很基础的问题,但是因为基本上都是用现有的IDE工具 来开发java程序,所以很少有人意识到这一点.javac-classpath,设定要搜索类的路径,可以是目录,jar文件,zip文件(里面都是class文件),会覆盖掉所

cmd中可以运行java,但不能运行javac命令

在cmd中可以运行java,但运行javac命令时提示:'javac' 不是内部或外部命令,也不是可运行的程序或批处理文件. 原因:安装java时把jdk的路径和jre的路径选择成一样,就造成覆盖了.这时候你在lib下也找不到tools.jar和dt.jar. 解决: 1)卸载java,直接用windows自带的卸载这两个有关java的程序: 2)重新安装java,安装时有两次选择路径的机会,第一次是让你选择jdk安装路径,选择为C:\Program Files\Java\jdk1.8.0_14

CentOS系统没有javac命令

自己捯饬的linux系统(CentOS)安装了jdk后,只能识别java命令而不识别javac.根据网上的教程设置环境变量后还是不行. 后来看了下/usr/java/jdk**目录下面根本没有javac这个文件... 原来是安装的openjdk版本的jdk. 于是删除原来的jdk,# yum erase java-1.*. 下载Oracle的JDKrpm包,rpm -ivh jdk-8u101-linux-x64.rpm,安装完毕javac就来了,连环境变量都不用自己设置.

javac 命令出现 找不到文件 问题及解决办法

如果环境配置好了,使用java -version回车可以正常查看到版本信息. 使用javac Demo.java 如果提示文件找不到 可能原因1: 源文件与当前命令行不在同目录下,这时候就要切换到同一目录下 如果你的Demo.java源文件在d:\下,命令行在c:\下那么 你可以  javac d:/Demo.java 或直接进入该目录, 键入d:\回车后使用 javac Demo.java 编译好后使用java Demo回车运行 可能原因2: 不存在该文件,注意该文件的文件名,后缀(查看属性可