java编译是用javac吗_用java自带工具javac和java编译运行java程序
怎样编译一个.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程序相关推荐
- 【Java开发语言 00】环境搭建(配置java环境+‘javac’不是内部或外部命令,也不是可运行的程序+安装idea+idea基本用法+新建项目+在新项目的src路径下新建包和类+基础调试+路径)
idea入门 1 idea安装 1.1 官方下载地址 2 Java语言环境的搭建 下载JDK 安装 JDK(安装路径不要有中文或者特殊符号如空格等) 配置环境变量(必须是全英文状态下的字符) clas ...
- an初始java运行环境错误,完美解决jdk环境变量设置完后,在cmd中运行javac出现’javac‘不是内部或外部命令,也不是可运行的程序或批处理文件的错误提示...
换了个工作环境,好吧,环境重新装一遍,遇到一个 'javac'不是内部或外部命令,也不是可运行的程序或批处理文件的错误提示 这里就解决一下好了 一.下载jdk,具体怎么下载这里就不说了,提供一个下载地 ...
- java环境变量配置:“javac不是内部或外部命令,也不是可运行的程序”解决
看了好多篇水文,一直没明白问题到底出在哪,配了无数次了,一直出错一直出错,一直说"javac不是内部或外部命令,也不是可运行的程序" 其实就是环境变量配错了,我知道配错了,按照无数 ...
- DOS解决java可运行而javac显示:javac不是内部或外部命令,也不是可运行的程序
1.问题描述 DOS命令java可用,javac则显示:javac不是内部或外部命令,也不是可运行的程序 或批处理文件的细节问题,寻找问题源头在于环境变量的配置上. 系统变量设计Java_Home在值 ...
- 【解决方案】“‘javac’不是内部或外部命令,也不是可运行的程序或批处理文件”
简述 在学着使用Java的命令行来编译java文件的时候,遇到了这个问题 Windows操作系统 "'javac'不是内部或外部命令,也不是可运行的程序或批处理文件" 下面就讲讲解 ...
- 解决“javac不是内部或外部命令,也不是可运行的程序”问题
在使用javac命令编译时出现"javac不是内部或外部命令,也不是可运行的程序" 一.打开cmd 切到安装Java的bin目录 输入命令javac 出现以下提示表示是环境配置有问 ...
- jdk12‘javac‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
前言: 安装JDK12遇到的问题以及学习过程, 我第一次用网上的安装办法,下载EXE后,配置好三个环境变量后运行,不行. 解决过程: 问题1:安装后javac命令运行时报错 jdk12'javac' ...
- JAVAC 运行报错‘javac’不是内部或外部命令,也不是可运行的程序或批处理文件
[一]问题: win10系统下,安装好JDK后,报错如下:'javac'不是内部或外部命令,也不是可运行的程序或批处理文件. [二]检查三个环境变量 JAVA_HOME: C:\Program Fil ...
- javac ‘javac‘ 不是内部或外部命令,也不是可运行的程序 的解决办法
javac 'javac' 不是内部或外部命令,也不是可运行的程序 的解决办法 解决办法:你先把你自己新建的JAVA_HOME.CLASSPATH这两个变量和PATH变量中的JAVA_HOME%\bi ...
- javac不是内部或外部命令,也不是可运行的程序或批处理文件的错误解决方法(Windows10/Windows7)
前言:在配置JDK环境变量后,java显示正常,javac则显示javac不是内部或外部命令,也不是可运行的程序或批处理文件.造成javac不是内部或外部命令,也不是可运行的程序或批处理文件的问题一般 ...
最新文章
- template与图片懒加载
- 数据库系统服务器的运维
- 找到所有数组中消失的数字—leetcode448
- WPF内存泄露:CollectionViewSource.GetDefaultView导致Cache对象
- vue --- vue-router
- 杭电1108java_按照这个步骤来刷题,迷茫的你两个月亦能成为王者
- Netty使用kryo序列化传输对象
- C++函数指针和仿函数【转】
- 【6035】聊聊各种“上门”能不能做起来
- Python 如何 ping
- 【opencv学习笔记】第五篇:访问图像中像素的三种方式、ROI区域图像叠加和图像混合
- app测试-monkey
- 【转】Robot Framework作者建议如何选择自动化测试框架
- 奥斯卡 | hulu拿到小金人!迪士尼共斩获六项
- 智能家居设备可能被利用变成家庭虐待的工具
- 阿里集团CEO张勇:阿里培养领导者,看这2点
- 暗影精灵3开机黑屏解决方案
- An Overview of Blockchain Technology: Architecture, Consensus, and Future Trends 全文翻译
- 《3D打印就这么简单》——6.1节Tinkercad
- nextcloud 安装并优化
热门文章
- 论文阅读笔记(八)——Ultra-thin MobileNet
- CVPR2021 | TrivialAugment:不用调优的SOTA数据增强策略
- ICCV2021 | 简单有效的长尾视觉识别新方案:蒸馏自监督(SSD)
- 最大矩形面积(C++实现)
- 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。
- 创建一个TCP服务器端通信程序的步骤
- 前端js实现打印excel表格
- 嵌入式Linux驱动学习之路(二)u-boot体验
- Spark源码阅读@ListenerBus 的实现
- 实现网页布局的自适应 利用@media screen