关于久违的Javac,编译出现“找不到符号”

参考文档:http://blog.csdn.net/qq369201191/article/details/49946609

工作以来习惯了maven编译,已经忘记了javac这个东东,以至于遇到javac问题时困惑了,下面总结一下,以便后者参考。

一、使用javac进行项目java文件编译,待编译java文件引用其他路径的java文件的情况

1、文件结构图,只需要关注com及其子目录即可:


项目结构:Student 继承上一级目录的 Person

2、Person类,注意包名是:com.javac

Person类

3、Student类,继承Person,即依赖Person,注意包名是:com.javac.student

Person类

4、cmd进入一个目录,然后用相对路径或者绝对路径运行javac,需要注意以下两点:

(1)语法:javac -cp [依赖.java文件的路径] [待编译的.java文件];

(2)重点!!!

[依赖.java文件的路径]指的是“除依赖.java文件中pakage以外的路径”,举个栗子:

本文中(以相对路径为例):

依赖的Person.java文件pakage为“com.javac”

那么[依赖.java文件的路径]应该是:src/main/java/,而不是src/main/java/com/javac!

因为java的编译器会从src/main/java/开始找Student.java文件中[import com.javac.Pseron]的com/javac/Persion.java文件,即两者叠加后:src/main/java/com/javac/Persion.java为真实路径。

编译操作

二、使用javac进行项目java文件编译,待编译java文件依赖外部jar包

则 javac -cp [jar包相对/绝对位置,需要具体到.jar] [待编译文件相对或绝对路径]

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,973评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,767评论 18 399
  • 今天是什么日子? 你是否还记得他的名字? 翻开日历, 我看见了“学雷锋纪念日”, 打开电视, 我看见了他的事迹, ...
    北塔雪松阅读 1,556评论 23 50
  • 今天是第二天了。 做完了日常仪式,我开始阅读。 我还画了一张鱼骨图,虽然不太好看。 这是昨天的地图(正在勾线)。 ...
    陈卓航阅读 320评论 0 0
  • TOC 视频的显示和存放原理 对于一个电影,帧是这样来显示的:I B B P。现在我们需要在显示B帧之前知道P帧中...
    easyhao阅读 6,356评论 0 4