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是什么意思相关推荐

  1. javac 与java_javac中使用-d,以及javac / java中使用-cp介绍

    javac中使用-d,以及javac / java中使用-cp介绍 发布时间:2019-01-15 20:39, 浏览次数:555 , 标签: javac java cp * 一般生成把java编译成 ...

  2. Mac 从Makefile 编译 Rocksdb 源码的一些注意事项

    文章目录 前言 Makefile 编译流程 1. 平台变量/环境变量的初始化. 2. 编译需要的源码文件变量初始化. 3. include 目录的设置. 4. 编译的执行逻辑. 问题记录1:可能的打包 ...

  3. TPC-W安装与配置(威斯康星大学Java版)

    来自  http://blog.csdn.net/cybercode/article/details/6737415 系统:CentOS 5.6 TPC-W 官方介绍:http://www.tpc.o ...

  4. 没了IDE,你的Java项目还能Run起来吗~

    计算机只能识别机器码0101...编程语言->能执行的机器码 需要经过 预处理->编译->汇编->链接->机器码过程.一个语言处理系统的示意图如下: 编译器 是将源语言程 ...

  5. java ee无法安装_为什么要导入javax.servlet。*; 安装Java EE仍无法解决 面向Java EE开发人员的Eclipse...

    本问题已经有最佳答案,请猛点这里访问. 我要使用的开源项目需要导入: import javax.servlet.*; import javax.servlet.http.*; 据我所知,这些库是Jav ...

  6. 【华为云技术分享】程序员实用JDK小工具归纳

    在JDK的安用装目录bin下,有一些有非常实用的小工具,可用于分析JVM初始配置.内存溢出异常等问题,我们接下来将对些常用的工具进行一些说明. 1. JDK小工具简介 在JDK的bin目录下面有一些小 ...

  7. java 语法检查_java编译期间的语法检查

    展开全部 使用javac编译时加上 -verbose 选项.就会发现会载入第三方jar文件D:\Temp>javac -verbose -cp J:\library\xpp3\xpp3-1.1. ...

  8. Java 编译,运行错误之 java.lang.UnsupportedClassVersionError: Bad version n umber in .class file

    这里使用的是 http://blog.csdn.net/oscar999/article/details/7305489 中的JDBCTest.java源文件 1. 在JDK1.6 中使用编译命令编译 ...

  9. 没了 IDE,你的 Java 项目还能跑起来吗?

    作者 | Monica2333 责编 | 屠敏 来源 | 码农知识点 计算机只能识别机器码0101...编程语言->能执行的机器码 需要经过 预处理->编译->汇编->链接-& ...

  10. webrtc入门之客户端连麦demo-apprtc

    webrtc很强大,但编译起来比较痛苦,源码和工具链下载下来十几G,源码samples里面提供了androidapp项目,只有源码,没有jar包和so库,所以我编译好webrtc,提取出所需的jar包 ...

最新文章

  1. 利用Kafka和Cassandra构建实时异常检测实验
  2. 用yui compressor 压缩 javascirpt脚本
  3. 摄像头线性矫正的c语言实现,摄影测量考试试题及详细答案
  4. 中英文论文高效排版插件一一 Tip ( Text Image P rocessing )
  5. centos mysql5.6.35_centos_mysql5.6.35_rpm安装
  6. TCP 客户端和服务器端
  7. linux 进程开始与终止
  8. c语言lua读文件,file-io – 在Lua中逐行读取文件
  9. char double java_java从入门到精髓 - Number char double float
  10. CentOS 7 安装Docker
  11. 转换字符串的字符成单个字符并用逗号分隔
  12. zabbix告警邮件美化
  13. PHP处理多表查询时的SQL语句拆分与重新组装
  14. 价值800元的原官方YM源码 二开苹果cms视频网站源码模板 无后门 完整版可以封装APP 免费分享给大家
  15. 河北化工医药职院美和易思软件技术专业“指舞飞扬”比赛圆满成功
  16. 计算机的英语歌,好听的英文歌,该怎么解决
  17. 华为笔记本关闭触摸板方法
  18. 初识Tesseract
  19. 关于NVIDIA G-SYNC,你应该知道的一切
  20. 九联AX1800 WiFi6路由 真香评测

热门文章

  1. 编程类实验实验环境怎么写?
  2. Caffe2 - (十三) 基于 Python 创建 Operator
  3. 如何解决excel表格损坏修复中所遇到的难题
  4. 少儿机器人编程学习指南
  5. 初到北上广打拼的外地人,生活状态是怎样的?
  6. 基础加强 -- 反射
  7. 服装检索相关论文阅读
  8. 如何查看linux系统的状态,如何查看Linux和Mac机器的系统状态
  9. ARM 37 个通用寄存器详解
  10. Java熔断器比较_线上防雪崩利器——熔断器设计原理与实现