在cmd下编译Java源文件文件出现程序包xxxx不存在
当编译Java源文件时遇到程序包不存在的问题,我们应该如何解决呢?
话不多说,开始对这个问题进行讲解,真心希望大家能有所收获
在最近的jsp学习过程中,突然遇到程序包不存在问题,如下所示
D:\apache-tomcat-9.0.16\webapps\ch6\WEB-INF\classes\myservlet\control\example_Servlet.java:2: 错误: 程序包mybean.data不存在
遇到这个问题我也在思考,花了很长时间,也四处查找资料,但无一列外都是不管用的,牛头不对马嘴。要不就是有些讲解的太过于晦涩难懂,难于理解。无奈之下只能自己钻研,所幸皇天不负。
为何会遇到这个问题呢?
主要是由于路径的原因,对于我们一般编译来说,都是直接在cmd下写 javac,然后将Java源文件拖进窗口。
如下:
C:\Users\Administrator>javac D:\apache-tomcat-9.0.16\webapps\ch6\WEB-INF\classes\myservlet\control\example_Servlet.java
但是当我们在example_Servlet.javac下使用了import xxx.java导入其他Java类。
这就会导致这次错误的发生,具体是怎样的请见下图:
具体情况如上图所示,我们会发生 程序包mybean.data不存在的原因在于我们没有把javac编译的位置切换到编译文件和被引入文件共有的文件夹,用例子说明如下:
Servlet.java文件位置为:
D:\apache-tomcat-9.0.16\webapps\ch6\WEB-INF\classes\myservlet\control
引入的java文件为:
D:\apache-tomcat-9.0.16\webapps\ch6\WEB-INF\classes\mybean\data
我们从这两个路径可以看出他们的公共路径为:
D:\apache-tomcat-9.0.16\webapps\ch6\WEB-INF\classes
所以我们使用cd进入到公共路径进行编译:
>D:\apache-tomcat-9.0.16\webapps\ch6\WEB-INF\classes javac myservlet\control\example_Servlet.java
这样我们就能成功进行编译了,如还有不理解的,或有什么补充的,欢迎大家积极留言! 谢谢!
相关文章
- java基础---->FilenameFilter之文件过滤
- Java代码优化 Java final 修饰类或者方法能提高性能?还50%?
- Java集合---ConcurrentHashMap原理分析
- java动态加载jar文件
- java基础知识:多态
- Java(20~24)
- java操作ftp实现文件上传
- 国外大佬总结的 10 个 Java 编程技巧!
- java基础(3)安装好JDK后使用javac.exe编译java文件、java.exe运行编译好的类
- Java面试题目,Ftp实现上传文件至远程服务器
- Java使用LocalDate根据时间区间,拆分成多个时间段
- 开发维护大型 Java 项目的建议
- GitHub公布10大热门编程语言:Java好猛
- 《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一第1章 Java SE 8的流库
- Java文件操作编程
- java读取Properties文件及赋值
- Java获取文件路径的几种方法
- Java-马士兵设计模式学习笔记-观察者模式-读取properties文件,动态增加观察者
- registry key 'Java Runtime Environment' has value'1.8',but '1.7' is requaired(转)
- java写文件
- 浅谈Java中的.java文件.class文件
- 依据不同的操作系统读取配置文件/java读取属性文件代码
- JAVA将一个目录下的所有文件复制到另一个新目录
- Spring下用Java导出CSV文件(java直接导出和第三方jar导出)
- JAVA 注解的几大作用及使用方法详解
- JAVA向EXE文件尾追加配置信息,用于解决局版客户端的程序IP配置问题
- Java解析XML文件
- (转)java 层调用Jni(Ndk) 持久化c c++ 对象