Java学习笔记程序员IT@程序员猿媛

Javac编译源程序-Jdk和Jre

2019-09-19  本文已影响0人  您好简书

如果java命令可以用,那么javac命令应该也可以用。
出现你这种情况的原因有二:
(1)已经正确安装JDK,但没有重新打开控制台,导致javac命令不能用。
解决方法:关闭原有控制台,重新打开控制台,输入javac测试。

(2)已经正确安装JDK,但没有设置path环境变量,导致javac命令不可用。
解决方法:设置环境变量,将类似“C:\Program Files\Java\jdk1.6.0_17\bin”的值添加到path环境变量中。重新打开控制台,输入javac测试。

至于“java -version”显示安装成功,这并不能说明什么。java是跨平台的语言,在Windows、Linux等多种操作系统平台上都预装有java的运行环境JRE,在它的bin目录下就有java命令(用于运行Java程序),但没有javac命令(用于编译Java程序)。也就是说,即使你不安装JDK,一样可以使用java命令,但不能直接使用javac,除非安装jdk,并设置path环境变量。

假设有路径:D:\WHX\Allcode\java\HelloWorld.java

进入某一盘符, 不需要cd,直接D: 回车

就会进入D盘

然后cd WHX\Allcode\java

就可以进入java文件夹下,显示D:\WHX\Allcode\java

输入cd ..\返回上一级目录,显示D:\WHX\Allcode、

编译运行主要是使用javac 和java命令。

编译 :javac HelloWorld.java

编译成功后自动生成.class文件

运行:java HelloWorld

运行结果!


image.png
image.png

可能很多初学者和我一样,在初次接触java开发的过程中,急于看到最终的结果,匆匆在网上下载了jdk之后,点击安装,结果等安装完,开始配置classpath时,发现jdk/lib下面根本就没有 tools.jar 和dt.jar 这两个包。作者在首次遇到这样的问题时,以为是下载的包有问题,于是重新下载了之后再安装,结果还是老样子。我相信你现在很可能遇到了类似的问题。好吧,那你就接着往下看,耐心一点。

问题的根本原因,可能是你和我一样,没有弄清两个概念:JDK和JRE。JDK是java开发核心组件,是用来编译解释java程序的核心组件,包含java compile(javac) 面向的是java开发人员。JRE是java运行环境,用来支持java程序的运行,主要包含的是JVM。Java一种是跨平台语言,一次编译,多次在多台电脑上运行,这种机制主要依靠JVM实现。java程序编译得到的是中间字节码,中间字节码是不能再机器上直接运行的,必须要经过JVM把中间字节码转换为机器语言。JRE是面向的是java程序的用户。

image.png

退到包名之前的目录 然后执行

显示dd

执行成功


image.png

-g                         生成所有调试信息
  -g:none                    不生成任何调试信息
  -g:{lines,vars,source}     只生成某些调试信息
  -nowarn                    不生成任何警告
  -verbose                   输出有关编译器正在执行的操作的消息
  -deprecation               输出使用已过时的 API 的源位置
  -classpath <路径>            指定查找用户类文件和注释处理程序的位置
  -cp <路径>                   指定查找用户类文件和注释处理程序的位置
  -sourcepath <路径>           指定查找输入源文件的位置
  -bootclasspath <路径>        覆盖引导类文件的位置
  -extdirs <目录>              覆盖所安装扩展的位置
  -endorseddirs <目录>         覆盖签名的标准路径的位置
  -proc:{none,only}          控制是否执行注释处理和/或编译。
  -processor <class1>[,<class2>,<class3>...] 要运行的注释处理程序的名称; 绕过默认的搜索进程
  -processorpath <路径>        指定查找注释处理程序的位置
  -parameters                生成元数据以用于方法参数的反射
  -d <目录>                    指定放置生成的类文件的位置
  -s <目录>                    指定放置生成的源文件的位置
  -h <目录>                    指定放置生成的本机标头文件的位置
  -implicit:{none,class}     指定是否为隐式引用文件生成类文件
  -encoding <编码>             指定源文件使用的字符编码
  -source <发行版>              提供与指定发行版的源兼容性
  -target <发行版>              生成特定 VM 版本的类文件
  -profile <配置文件>            请确保使用的 API 在指定的配置文件中可用
  -version                   版本信息
  -help                      输出标准选项的提要
  -A关键字[=值]                  传递给注释处理程序的选项
  -X                         输出非标准选项的提要
  -J<标记>                     直接将 <标记> 传递给运行时系统
  -Werror                    出现警告时终止编译
  @<文件名>                     从文件读取选项和文件名

上一篇 下一篇

猜你喜欢

热点阅读