javac -d,-cp是什么意思
javac -d <directory>
指定放置生成的类文件的位置。
javac -cp <path>
指定查找用户类文件和注释处理程序的位置
目录
- 具体解释
- -d
- -cp
- 例子
- 编译
- 执行
- 其他
具体解释
javac是命令行里程序编译的命令。java是运行程序的命令。
-d
-d
的意思是将源文件编译后生成的字节码文件(bytecode),扩展名为.class,放置在你想要的文件<directory>
里。
-cp
javac -cp和java -cp都是设置查找相应文件的路径,比如:
java -cp
是告诉java.exe寻找字节码文件(.class)的位置
例子
编译
package是我的包名,Main.java是我的源文件。“d:\lab10\src\package\Main.java”是为了告诉javac.exe到哪里去找源文件。
“d:/classes”是用户设定的生成的字节码文件所在位置
javac -d d:/classes d:\lab10\src\package\Main.java
命令执行成功后可去“d:/classes”里验证一下,会发现生成的.class文件。
执行
java -cp d:/classes package.Main
这一步是将上一步在“d:/classed”生成的字节码文件交给JVM运行。
这里注意两点:
1)源文件放在包里的,类名前要加包名,比如上述例子的“package”就是“Main”类的包名
2)java命令 -cp后的文件地址不能进到包里面
比如我的.class文件路径为“d:/classes/lab10/Main.class”,lab10为包名
那么不能写成java -cp d:/classes/lab10 package.Main
不满足(1)(2)可能会出现以下错误:
错误: 找不到或无法加载主类 Main
原因: java.lang.ClassNotFoundException: Main
3)java命令的参数需要一个类,填写类名,不要加后缀名,比如上述的“package.Main”后面什么也没有。
其他
在命令行里输入
javac --help
即可看到javac命令的许多用法。
欢迎留言指正!
javac -d,-cp是什么意思相关推荐
- javac 与java_javac中使用-d,以及javac / java中使用-cp介绍
javac中使用-d,以及javac / java中使用-cp介绍 发布时间:2019-01-15 20:39, 浏览次数:555 , 标签: javac java cp * 一般生成把java编译成 ...
- Mac 从Makefile 编译 Rocksdb 源码的一些注意事项
文章目录 前言 Makefile 编译流程 1. 平台变量/环境变量的初始化. 2. 编译需要的源码文件变量初始化. 3. include 目录的设置. 4. 编译的执行逻辑. 问题记录1:可能的打包 ...
- TPC-W安装与配置(威斯康星大学Java版)
来自 http://blog.csdn.net/cybercode/article/details/6737415 系统:CentOS 5.6 TPC-W 官方介绍:http://www.tpc.o ...
- 没了IDE,你的Java项目还能Run起来吗~
计算机只能识别机器码0101...编程语言->能执行的机器码 需要经过 预处理->编译->汇编->链接->机器码过程.一个语言处理系统的示意图如下: 编译器 是将源语言程 ...
- java ee无法安装_为什么要导入javax.servlet。*; 安装Java EE仍无法解决 面向Java EE开发人员的Eclipse...
本问题已经有最佳答案,请猛点这里访问. 我要使用的开源项目需要导入: import javax.servlet.*; import javax.servlet.http.*; 据我所知,这些库是Jav ...
- 【华为云技术分享】程序员实用JDK小工具归纳
在JDK的安用装目录bin下,有一些有非常实用的小工具,可用于分析JVM初始配置.内存溢出异常等问题,我们接下来将对些常用的工具进行一些说明. 1. JDK小工具简介 在JDK的bin目录下面有一些小 ...
- java 语法检查_java编译期间的语法检查
展开全部 使用javac编译时加上 -verbose 选项.就会发现会载入第三方jar文件D:\Temp>javac -verbose -cp J:\library\xpp3\xpp3-1.1. ...
- Java 编译,运行错误之 java.lang.UnsupportedClassVersionError: Bad version n umber in .class file
这里使用的是 http://blog.csdn.net/oscar999/article/details/7305489 中的JDBCTest.java源文件 1. 在JDK1.6 中使用编译命令编译 ...
- 没了 IDE,你的 Java 项目还能跑起来吗?
作者 | Monica2333 责编 | 屠敏 来源 | 码农知识点 计算机只能识别机器码0101...编程语言->能执行的机器码 需要经过 预处理->编译->汇编->链接-& ...
- webrtc入门之客户端连麦demo-apprtc
webrtc很强大,但编译起来比较痛苦,源码和工具链下载下来十几G,源码samples里面提供了androidapp项目,只有源码,没有jar包和so库,所以我编译好webrtc,提取出所需的jar包 ...
最新文章
- 利用Kafka和Cassandra构建实时异常检测实验
- 用yui compressor 压缩 javascirpt脚本
- 摄像头线性矫正的c语言实现,摄影测量考试试题及详细答案
- 中英文论文高效排版插件一一 Tip ( Text Image P rocessing )
- centos mysql5.6.35_centos_mysql5.6.35_rpm安装
- TCP 客户端和服务器端
- linux 进程开始与终止
- c语言lua读文件,file-io – 在Lua中逐行读取文件
- char double java_java从入门到精髓 - Number char double float
- CentOS 7 安装Docker
- 转换字符串的字符成单个字符并用逗号分隔
- zabbix告警邮件美化
- PHP处理多表查询时的SQL语句拆分与重新组装
- 价值800元的原官方YM源码 二开苹果cms视频网站源码模板 无后门 完整版可以封装APP 免费分享给大家
- 河北化工医药职院美和易思软件技术专业“指舞飞扬”比赛圆满成功
- 计算机的英语歌,好听的英文歌,该怎么解决
- 华为笔记本关闭触摸板方法
- 初识Tesseract
- 关于NVIDIA G-SYNC,你应该知道的一切
- 九联AX1800 WiFi6路由 真香评测