怎样编译一个.java源文件,得到它的.class文件?

1,使用eclipse,一般设置的是自动编译,也就是在你ctrl + s保存的时候,eclipse就帮你自动编译成功了,你到对应的文件夹下就能找到它的.class文件。

2,使用javac命令。

在javac和java编译运行java程序,遇到了问题,如下。

package hcg.test;

public class Main {

public static void main(String[] args) {

System.out.println("Hello, World!");

}

}

注意到源文件第一行有一条打包语句,package hcg.test。

javac Main.java命令在当前目录生成了一个Main.class文件,不过这个.class文件并不能成功运行。这样做是错误的。

原因是,java运行.class文件时,会依次搜索CLASSPATH环境变量里指定的系列路径,在这些路径下按照和包层次相同的目录结构搜索.class文件,

所以,.class文件必须放到和包层次相同的目录结构里才有效,所以该Main.class必须放到hcg\test目录下。(另外,一般CLASSPATH环境变量包含了当前路径)

在使用javac的时候,加上-d选项,指定生成的.class文件的存放路径,一般指定为当前路径(“.”表示当前路径),同时-d选项还会自动生成相应的包层次目录结构,而不加-d是不会自动生成的!!!所以,一般不要省略-d选项。

另外,注意java运行的时候,采用全限定类名!

下面要做的事情就是,把自己写好的hcg.test.Main打包,然后再引用这个包,编译、运行。

先写一个Test类引用刚才写的hcg.test.Main类。

import hcg.test.Main;

class Test {

public static void main(String[] args) {

Main m = new Main();

m.main(null);

System.out.println("This is from Test");

}

}

然后将hcg.test.Main类打包,编译和运行Test类,结果如下。

hcg是javac -d . Main生成的.class文件夹,打包成hcg.jar文件。

编译运行Test类的时候,都用-classpath选项,指定搜索了hcg.jar,不然不成功(不知道为什么在当前路径下不能通过jar包自动找到相应的依赖类)。

java编译是用javac吗_用java自带工具javac和java编译运行java程序相关推荐

  1. 【Java开发语言 00】环境搭建(配置java环境+‘javac’不是内部或外部命令,也不是可运行的程序+安装idea+idea基本用法+新建项目+在新项目的src路径下新建包和类+基础调试+路径)

    idea入门 1 idea安装 1.1 官方下载地址 2 Java语言环境的搭建 下载JDK 安装 JDK(安装路径不要有中文或者特殊符号如空格等) 配置环境变量(必须是全英文状态下的字符) clas ...

  2. an初始java运行环境错误,完美解决jdk环境变量设置完后,在cmd中运行javac出现’javac‘不是内部或外部命令,也不是可运行的程序或批处理文件的错误提示...

    换了个工作环境,好吧,环境重新装一遍,遇到一个 'javac'不是内部或外部命令,也不是可运行的程序或批处理文件的错误提示 这里就解决一下好了 一.下载jdk,具体怎么下载这里就不说了,提供一个下载地 ...

  3. java环境变量配置:“javac不是内部或外部命令,也不是可运行的程序”解决

    看了好多篇水文,一直没明白问题到底出在哪,配了无数次了,一直出错一直出错,一直说"javac不是内部或外部命令,也不是可运行的程序" 其实就是环境变量配错了,我知道配错了,按照无数 ...

  4. DOS解决java可运行而javac显示:javac不是内部或外部命令,也不是可运行的程序

    1.问题描述 DOS命令java可用,javac则显示:javac不是内部或外部命令,也不是可运行的程序 或批处理文件的细节问题,寻找问题源头在于环境变量的配置上. 系统变量设计Java_Home在值 ...

  5. 【解决方案】“‘javac’不是内部或外部命令,也不是可运行的程序或批处理文件”

    简述 在学着使用Java的命令行来编译java文件的时候,遇到了这个问题 Windows操作系统 "'javac'不是内部或外部命令,也不是可运行的程序或批处理文件" 下面就讲讲解 ...

  6. 解决“javac不是内部或外部命令,也不是可运行的程序”问题

    在使用javac命令编译时出现"javac不是内部或外部命令,也不是可运行的程序" 一.打开cmd 切到安装Java的bin目录 输入命令javac 出现以下提示表示是环境配置有问 ...

  7. jdk12‘javac‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

    前言: 安装JDK12遇到的问题以及学习过程, 我第一次用网上的安装办法,下载EXE后,配置好三个环境变量后运行,不行. 解决过程: 问题1:安装后javac命令运行时报错 jdk12'javac' ...

  8. JAVAC 运行报错‘javac’不是内部或外部命令,也不是可运行的程序或批处理文件

    [一]问题: win10系统下,安装好JDK后,报错如下:'javac'不是内部或外部命令,也不是可运行的程序或批处理文件. [二]检查三个环境变量 JAVA_HOME: C:\Program Fil ...

  9. javac ‘javac‘ 不是内部或外部命令,也不是可运行的程序 的解决办法

    javac 'javac' 不是内部或外部命令,也不是可运行的程序 的解决办法 解决办法:你先把你自己新建的JAVA_HOME.CLASSPATH这两个变量和PATH变量中的JAVA_HOME%\bi ...

  10. javac不是内部或外部命令,也不是可运行的程序或批处理文件的错误解决方法(Windows10/Windows7)

    前言:在配置JDK环境变量后,java显示正常,javac则显示javac不是内部或外部命令,也不是可运行的程序或批处理文件.造成javac不是内部或外部命令,也不是可运行的程序或批处理文件的问题一般 ...

最新文章

  1. template与图片懒加载
  2. 数据库系统服务器的运维
  3. 找到所有数组中消失的数字—leetcode448
  4. WPF内存泄露:CollectionViewSource.GetDefaultView导致Cache对象
  5. vue --- vue-router
  6. 杭电1108java_按照这个步骤来刷题,迷茫的你两个月亦能成为王者
  7. Netty使用kryo序列化传输对象
  8. C++函数指针和仿函数【转】
  9. 【6035】聊聊各种“上门”能不能做起来
  10. Python 如何 ping
  11. 【opencv学习笔记】第五篇:访问图像中像素的三种方式、ROI区域图像叠加和图像混合
  12. app测试-monkey
  13. 【转】Robot Framework作者建议如何选择自动化测试框架
  14. 奥斯卡 | hulu拿到小金人!迪士尼共斩获六项
  15. 智能家居设备可能被利用变成家庭虐待的工具
  16. 阿里集团CEO张勇:阿里培养领导者,看这2点
  17. 暗影精灵3开机黑屏解决方案
  18. An Overview of Blockchain Technology: Architecture, Consensus, and Future Trends 全文翻译
  19. 《3D打印就这么简单》——6.1节Tinkercad
  20. nextcloud 安装并优化

热门文章

  1. 论文阅读笔记(八)——Ultra-thin MobileNet
  2. CVPR2021 | TrivialAugment:不用调优的SOTA数据增强策略
  3. ICCV2021 | 简单有效的长尾视觉识别新方案:蒸馏自监督(SSD)
  4. 最大矩形面积(C++实现)
  5. 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。
  6. 创建一个TCP服务器端通信程序的步骤
  7. 前端js实现打印excel表格
  8. 嵌入式Linux驱动学习之路(二)u-boot体验
  9. Spark源码阅读@ListenerBus 的实现
  10. 实现网页布局的自适应 利用@media screen