参考资料:http://download.oracle.com/javase/1.4.2/docs/tooldocs/windows/javac.html
http://download.oracle.com/javase/1.5.0/docs/tooldocs/solaris/javac.html
-cp与-sourcepath在jdk1.4与j.5的分隔符分别为:1.4 分号; 1.5冒号:(但是我在1.5的测结果只有用分号是对的,用冒号报错)
标准选项:
-classpath与-cp作用:搜索类文件的路径,可以用分号(;)来分隔多个信息,它可以包话目录、jar包、zip。在没有指定时,
默认为环境变量,没有环境变量默认为当前目录,一旦指定了值,那么默认的东西都会失效,既想指定-cp,又想包含classpath
只能-cp %classpath%
切记:
-cp与-sourcepath都不会去某个文件夹的子目录去查找源文件或类,必须手工一个目录一个目录的添加
-cp不会去查找目录中的jar包,如有一个名为test.jar,它里面有个Test.class,执行java -cp . Test将失败,必须用java -cp test.jar Test才行
如下:
C:\>javac -sourcepath javac;javac/sourcepath javac/Test.java
C:\>java -cp javac;javac/sourcepath Test
需要的类或源文件在javac/sourcepath下面,指定javac目录会找不到对应的类与源文件
-d:用于指定class文件存放的目录,如下面的-d bin,class将会放在bin/org/zengge下面,这里的bin必须存在,否则会编译失败
-derpecation:不显示使用己过时的方法的相关信息
-encoding :指定源文件编码,如果没有指定,会使用操作系统默认字符庥。UTF-8的java文件,如果不指定encoding,在中文环境下编
译会出现乱码
-g:产生debug信息,此时会包含vars,默认只有lines与source信息
-g:(source、lines、vars)分别包含不同的debug信息
-nowarn :去除告警信息
-source : 个人感觉是指定jdk的版本啊,它会支持源码包含断言,如-source 1.4,将会支持j2se1.4的断言,1.3不支持断言,编译器
默认取用1.3的source行为,说白了就是不支持断言
-sourcepath:指定源文件的搜索路径,默认为classpath与当前目录,它同cp一样,可以用分号(;)来分隔多个信息,它可以包话目录、jar包、zip。
如果带有包名,那么包名要与路径名对应,就是org.zengge必须为org/zengge
-verbose:显示类的加载信息及类的编译信息,可以用来跟踪编译过程
JDK1。5后添加的:
-Djava.ext.dirs它会覆盖扩展类,就是jre/lib/ext下面的几个包里面的类将不会被查找
dnsns.jar,localedata.jar,sunjce_provider.jar,sunpkcs11.jar,用它的好处在于一次可以指定多个用于查找类文件的目录,-cp指定的路径
下面的类会被查找,但是jar不会被查找,要想用-cp来找一个jar,只能-cp path/a.jar,当要指定多个jar时,用-cp就太难了,特别是在web开
发时,一个指定几十个上百个包是不可能的,这时用-Djava.ext.dirs来指定包所在的目录就方便很多了,而且它可以用分号来分隔不同的目录
例:
E:\zg\workspace\smartspeed-backup>javac -verbose -encoding UTF-8 -d bin -sourcepath src -Djava.ext.dirs=WebRoot/WEB-INF/
lib;javaeelib src/com/vixtel/commonuser/actions/*.java
跨平台选项:
-target:指定生成的class文件工作在指定版本的虚拟机
例:-target 1.3 产生的class文件将运行在1.3及以后版本的虚拟机,如下
E:\zg\workspace\forTest\src\org\zengge>javac -encoding UTF-8 -verbose MyEclipseKeyGen.java -target 1.4
javac: 目标版本 1.4 与默认的源版本 1.5 冲突
-bootclasspath:指定引导类的路径,可以包含路径,jar,zip,用;分隔
-extdirs:指定扩展类的路径,可以包含路径,jar,zip,用;分隔
非标准选项:
-X
JAVAC查找类型的过程:
1.找到了对应的class,没有源文件,就使用这个class
2.找到了源文件,但是没有class,就编译这个源文件并使用产生的class文件
3.在源文件与class都存在的情况下,先判断class文件是否过期,判断的标准为class文件的产生的日期是否早于源文件,如果class过期了,就重新编译
源文件并使用产生的class
例子:
在同一个目录下有两个类及一个目录bin(bin里面放了MyImport.class):
public class MyImport
{
public void test(){
System.out.println("import");
}
}
public class Test
{
public static void main(String[] args){
MyImport i = new MyImport();
i.test();
}
}
测试一:不指定-classpath与sourcepath
C:\javac>javac -verbose Test.java
[解析开始时间 Test.java]
[解析已完成时间 15ms]
[源文件的搜索路径: [E:\zg\opensource\apache-ant\lib, E:\zg\softInstall\Java\jdk1.5.0_07\lib\dt.jar, E:\zg\softInstall\J
ava\jdk1.5.0_07\lib\tools.jar, E:\zg\opensource\axis\axis-1_4\lib\axis.jar, E:\zg\opensource\axis\axis-1_4\lib\commons-d
iscovery-0.2.jar, E:\zg\opensource\axis\axis-1_4\lib\commons-logging-1.0.4.jar, E:\zg\opensource\axis\axis-1_4\lib\jaxrp
c.jar, E:\zg\opensource\axis\axis-1_4\lib\saaj.jar, E:\zg\opensource\axis\axis-1_4\lib\log4j-1.2.8.jar, E:\zg\opensource
\axis\axis-1_4\lib\xml-apis.jar, E:\zg\opensource\axis\axis-1_4\lib\xercesImpl.jar, .]]
[类文件的搜索路径: [E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\rt.jar, E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\jsse.
jar, E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\jce.jar, E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\charsets.jar, E:\zg\
softInstall\Java\jdk1.5.0_07\jre\lib\ext\dnsns.jar, E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\ext\localedata.jar, E:\zg
\softInstall\Java\jdk1.5.0_07\jre\lib\ext\sunjce_provider.jar, E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\ext\sunpkcs11.
jar, E:\zg\opensource\apache-ant\lib, E:\zg\softInstall\Java\jdk1.5.0_07\lib\dt.jar, E:\zg\softInstall\Java\jdk1.5.0_07\
lib\tools.jar, E:\zg\opensource\axis\axis-1_4\lib\axis.jar, E:\zg\opensource\axis\axis-1_4\lib\commons-discovery-0.2.jar
, E:\zg\opensource\axis\axis-1_4\lib\commons-logging-1.0.4.jar, E:\zg\opensource\axis\axis-1_4\lib\jaxrpc.jar, E:\zg\ope
nsource\axis\axis-1_4\lib\saaj.jar, E:\zg\opensource\axis\axis-1_4\lib\log4j-1.2.8.jar, E:\zg\opensource\axis\axis-1_4\l
ib\xml-apis.jar, E:\zg\opensource\axis\axis-1_4\lib\xercesImpl.jar, .]]
[正在装入 E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\rt.jar(java/lang/Object.class)]
[正在装入 E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\rt.jar(java/lang/String.class)]
[正在检查 Test]
[正在装入 .\MyImport.class]
[已写入 Test.class]
[总时间 219ms]
从测试一的执行过程来看:在没有指定-classpath与-sourcepath的情况下:
源文件的搜索路径为:classpath环境变量指定的路径、jar和当前目录
类文件的搜索路径:引导类、扩展类、classpath环境变量、当前目录
测试二:指定sourcepath
C:\javac>javac -verbose -sourcepath bin Test.java
[解析开始时间 Test.java]
[解析已完成时间 16ms]
[源文件的搜索路径: [bin]]
[类文件的搜索路径: [E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\rt.jar, E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\jsse.
jar, E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\jce.jar, E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\charsets.jar, E:\zg\
softInstall\Java\jdk1.5.0_07\jre\lib\ext\dnsns.jar, E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\ext\localedata.jar, E:\zg
\softInstall\Java\jdk1.5.0_07\jre\lib\ext\sunjce_provider.jar, E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\ext\sunpkcs11.
jar, E:\zg\opensource\apache-ant\lib, E:\zg\softInstall\Java\jdk1.5.0_07\lib\dt.jar, E:\zg\softInstall\Java\jdk1.5.0_07\
lib\tools.jar, E:\zg\opensource\axis\axis-1_4\lib\axis.jar, E:\zg\opensource\axis\axis-1_4\lib\commons-discovery-0.2.jar
, E:\zg\opensource\axis\axis-1_4\lib\commons-logging-1.0.4.jar, E:\zg\opensource\axis\axis-1_4\lib\jaxrpc.jar, E:\zg\ope
nsource\axis\axis-1_4\lib\saaj.jar, E:\zg\opensource\axis\axis-1_4\lib\log4j-1.2.8.jar, E:\zg\opensource\axis\axis-1_4\l
ib\xml-apis.jar, E:\zg\opensource\axis\axis-1_4\lib\xercesImpl.jar, .]]
[正在装入 E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\rt.jar(java/lang/Object.class)]
[正在装入 E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\rt.jar(java/lang/String.class)]
[正在检查 Test]
[正在装入 .\MyImport.class]
[已写入 Test.class]
[总时间 219ms]
测试二指定了sourcepath的情况下:
源文件的搜索路径为:-sourcepath指定的目录,这里为当前目录
类文件的搜索路径:引导类、扩展类、classpath环境变量、当前目录
测试三:指定classpath
C:\javac>javac -verbose -classpath bin Test.java
[解析开始时间 Test.java]
[解析已完成时间 16ms]
[源文件的搜索路径: [bin]]
[类文件的搜索路径: [E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\rt.jar, E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\jsse.
jar, E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\jce.jar, E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\charsets.jar, E:\zg\
softInstall\Java\jdk1.5.0_07\jre\lib\ext\dnsns.jar, E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\ext\localedata.jar, E:\zg
\softInstall\Java\jdk1.5.0_07\jre\lib\ext\sunjce_provider.jar, E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\ext\sunpkcs11.
jar, bin]]
[正在装入 E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\rt.jar(java/lang/Object.class)]
[正在装入 E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\rt.jar(java/lang/String.class)]
[正在检查 Test]
[正在装入 bin\MyImport.class]
[已写入 Test.class]
测试三可以看出,在只指定-classpath不指定sourcepath的情况下:
源文件的搜索路径为:-classpath指定的路径(也就是说这里的-sourcepath被-classpath的值取代了)
类文件的搜索路径:引导类、扩展类、-classpath指定的路径,classpath环境变量的东西没了
从测试四开始将MyImport.java放入sourcepath
测试四(a):指定-classpath与-sourcepath(此时bin里面有MyImport.class,sourcepath里面没有MyImport.java)
C:\javac>javac -verbose -cp bin -sourcepath sourcepath Test.java
[解析开始时间 Test.java]
[解析已完成时间 31ms]
[源文件的搜索路径: [sourcepath]]
[类文件的搜索路径: [E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\rt.jar, E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\jsse.
jar, E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\jce.jar, E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\charsets.jar, E:\zg\
softInstall\Java\jdk1.5.0_07\jre\lib\ext\dnsns.jar, E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\ext\localedata.jar, E:\zg
\softInstall\Java\jdk1.5.0_07\jre\lib\ext\sunjce_provider.jar, E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\ext\sunpkcs11.
jar, bin]]
[正在装入 E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\rt.jar(java/lang/Object.class)]
[正在装入 E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\rt.jar(java/lang/String.class)]
[正在检查 Test]
[正在装入 bin\MyImport.class]
[已写入 Test.class]
[总时间 172ms]
测试四(a)结果::
源文件的搜索路径为:-sourcepath指定的路径
类文件的搜索路径:引导类、扩展类、-classpath指定的路径,
测试四(b):指定-classpath与-sourcepath(此时sourcepath里面有MyImport.java,bin里面没有MyImport.class)
C:\javac>javac -verbose -cp bin -sourcepath sourcepath Test.java
[解析开始时间 Test.java]
[解析已完成时间 16ms]
[源文件的搜索路径: [sourcepath]]
[类文件的搜索路径: [E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\rt.jar, E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\jsse.
jar, E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\jce.jar, E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\charsets.jar, E:\zg\
softInstall\Java\jdk1.5.0_07\jre\lib\ext\dnsns.jar, E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\ext\localedata.jar, E:\zg
\softInstall\Java\jdk1.5.0_07\jre\lib\ext\sunjce_provider.jar, E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\ext\sunpkcs11.
jar, bin]]
[正在装入 E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\rt.jar(java/lang/Object.class)]
[正在装入 E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\rt.jar(java/lang/String.class)]
[正在检查 Test]
[正在装入 sourcepath\MyImport.java]
[解析开始时间 sourcepath\MyImport.java]
[解析已完成时间 0ms]
[已写入 Test.class]
[正在检查 MyImport]
[正在装入 E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\rt.jar(java/lang/System.class)]
[正在装入 E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\rt.jar(java/io/PrintStream.class)]
[正在装入 E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\rt.jar(java/io/FilterOutputStream.class)]
[正在装入 E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\rt.jar(java/io/OutputStream.class)]
[已写入 sourcepath\MyImport.class]
[总时间 188ms]
测试四(b)结果::
源文件的搜索路径为:-sourcepath指定的路径
类文件的搜索路径:引导类、扩展类、-classpath指定的路径,
测试五(a):指定-classpath与-sourcepath(sourcepath里面有MyImport.java,bin里面有MyImport.class且没过期)
C:\javac>javac -verbose -cp bin -sourcepath sourcepath Test.java
[解析开始时间 Test.java]
[解析已完成时间 31ms]
[源文件的搜索路径: [sourcepath]]
[类文件的搜索路径: [E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\rt.jar, E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\jsse.
jar, E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\jce.jar, E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\charsets.jar, E:\zg\
softInstall\Java\jdk1.5.0_07\jre\lib\ext\dnsns.jar, E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\ext\localedata.jar, E:\zg
\softInstall\Java\jdk1.5.0_07\jre\lib\ext\sunjce_provider.jar, E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\ext\sunpkcs11.
jar, bin]]
[正在装入 E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\rt.jar(java/lang/Object.class)]
[正在装入 E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\rt.jar(java/lang/String.class)]
[正在检查 Test]
[正在装入 bin\MyImport.class]
[已写入 Test.class]
[总时间 172ms]
源文件的搜索路径为:-sourcepath指定的路径
类文件的搜索路径:引导类、扩展类、-classpath指定的路径,
使用没过期的MyImport.class
测试五(b):指定-classpath与-sourcepath(sourcepath里面有MyImport.java,bin里面有MyImport.class且过期)
C:\javac>javac -verbose -cp bin -sourcepath sourcepath Test.java
[解析开始时间 Test.java]
[解析已完成时间 15ms]
[源文件的搜索路径: [sourcepath]]
[类文件的搜索路径: [E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\rt.jar, E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\jsse.
jar, E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\jce.jar, E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\charsets.jar, E:\zg\
softInstall\Java\jdk1.5.0_07\jre\lib\ext\dnsns.jar, E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\ext\localedata.jar, E:\zg
\softInstall\Java\jdk1.5.0_07\jre\lib\ext\sunjce_provider.jar, E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\ext\sunpkcs11.
jar, bin]]
[正在装入 E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\rt.jar(java/lang/Object.class)]
[正在装入 E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\rt.jar(java/lang/String.class)]
[正在检查 Test]
[正在装入 sourcepath\MyImport.java]
[解析开始时间 sourcepath\MyImport.java]
[解析已完成时间 0ms]
[已写入 Test.class]
[正在检查 MyImport]
[正在装入 E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\rt.jar(java/lang/System.class)]
[正在装入 E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\rt.jar(java/io/PrintStream.class)]
[正在装入 E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\rt.jar(java/io/FilterOutputStream.class)]
[正在装入 E:\zg\softInstall\Java\jdk1.5.0_07\jre\lib\rt.jar(java/io/OutputStream.class)]
[已写入 sourcepath\MyImport.class]
[总时间 187ms]
源文件的搜索路径为:-sourcepath指定的路径
类文件的搜索路径:引导类、扩展类、-classpath指定的路径,
此时会找到MyImport.java并编译,接着使用最新的MyImport.class
测试五其实可以简化,两个类在一个目录,第一次编译完成后,修改MyImport.java文件,接着再编译,就会出现测试五的结果
总结:
-classpath默认为:引导类、扩展类、classpath环境变量、当前目录,指定值后为引导类、扩展类、指定的目录
-sourcepath:默认为:classpath环境变量、当前目录,指定值后为指定的目录
在只指定-classpath的情况下,-sourcepath的默认值改为-classpath指定的目录
在既能找到class又能找到类的情况下:编译器会先判断class是否过期,过期的话就会重新编译java文件
分享到:
相关推荐
JDK 命令学习报告 ...JDK 命令学习报告总结了 JDK 中的各种命令,包括 javac、java、javah、jdb 等,并详细介绍了 JDB 调试工具的使用方法和命令列表。通过学习这些命令,可以更好地学习和使用 Java 语言。
Java命令 - **定义**:`java`命令用于执行编译后的Java程序(即`.class`文件)。 - **用法示例**: - `java ButtonEventApplet 100 200 300`:此命令将运行名为`ButtonEventApplet`的Java程序,并传递三个参数`100...
在Java开发中,我们还会用到`javac`(编译Java源码)和`java`(运行编译后的类文件)等与Java相关的DOS命令。 4. **设计模式**:设计模式是软件工程中经过验证的解决方案模板,用于解决常见问题。Java开发者应该...
开发者需要配置环境变量,特别是PATH和JAVA_HOME,以便系统能够找到Java命令。 测试环境Windows Server 2003表明,Java程序可以在不同版本的Windows系统上运行,这是由于JVM的兼容性。不过,开发者需要注意的是,...
Java学习常用命令常用单词知识点总结 Java学习中的常用命令和单词是非常重要的,以下是Java学习的知识点总结: 一、Java基础知识点 * Java学习目录:包括Java的基本语法、数据类型、运算符、控制流程、函数、数组...
* 1.5 Linux命令与相关知识:Linux是Java开发的常用操作系统,Linux命令包括文件管理命令、目录管理命令、权限管理命令等。 * 1.6 Eclipse/Myeclipse程序结构:Eclipse和Myeclipse是流行的Java开发环境,提供了项目...
2. java命令的用法:java命令用于运行.class文件。需要注意的是,如果源代码中声明了包,必须使用类的完整限定名来运行类。如果源代码文件中首行定义了package,如package com.stopTalking.test,则在运行时需要指定...
* bin目录下存放了JDK的各种工具命令,包括javac和java命令。 * conf目录下存放了JDK的相关配置文件。 * include目录下存放了一些平台特定的头文件。 * jmods目录下存放了JDK的各种模块。 * legal目录下存放了JDK各...
在命令行中,首先通过javac命令编译源代码文件生成.class字节码文件,然后使用java命令运行编译后的字节码文件。 随着Java技术的发展,越来越多的开发者选择使用集成开发环境(IDE)来提高开发效率,Eclipse就是最...
在编译阶段,使用`javac`命令将`.java`源文件转换成`.class`字节码文件,这个过程称为编译。例如,`javac 123.java`将编译123.java源文件。编译完成后,会在同一目录下生成对应的`.class`文件。 运行Java程序需要...
### Java零基础 - 使用java命令运行Java程序 #### 编写示例源码 为了能够更好地理解如何使用`java`命令来运行Java程序,我们首先需要编写一段Java源代码。这里我们将创建一个非常简单的程序——“Hello, World!”...
编写完成后,使用javac进行编译,然后用java命令运行程序,即可在控制台看到输出结果。 总结来说,Java学习对于初学者来说是一个很好的起点,因为它的语法清晰,有着丰富的库支持,并且有着广泛的应用场景。通过...
PATH变量应包含Java的bin目录,这样可以从任何地方执行Java命令。配置完成后,通过`java -version`检查是否成功。 四、Kate工具的使用 Kate是一款文本编辑器,适用于编写Java代码等。熟悉其功能和快捷键可以提高...
通过以上介绍,我们不仅了解了如何在Java程序中调用Linux命令的基本原理,还学习了如何通过`Runtime.exec()`方法创建子进程以及如何控制这些子进程。这对于开发需要与操作系统交互的应用程序是非常有用的。
标题中的“JAVA执行shell命令小工具”指的是使用Java编程语言编写的小程序,它能够执行操作系统级别的Shell命令。在Java中,通常使用`Runtime.getRuntime().exec()`或者`ProcessBuilder`类来实现这一功能。这两个类...
- 在命令提示符(cmd)下运行`java -version`和`javac -version`命令,以检测Java是否正确安装,且版本要符合运行要求。 - 一般建议安装Java 8或更高版本,以确保最佳的兼容性和性能。 3. **Java运行机制**: - ...
确保系统能识别“javac”(Java编译器)和“java”(Java解释器)这两个命令。 3. 编写第一个Java程序 现在我们已经准备好了开发环境,可以开始编写代码了。打开一个文本编辑器,创建一个名为“HelloWorld.java”...
安装后,需要设置`JAVA_HOME`环境变量,指向JDK的安装目录,以便系统能识别Java命令。 二、javac 命令 `javac`是Java的编译器,它将源代码文件(.java)转换为字节码文件(.class)。例如,要编译名为`HelloWorld....