踩坑…
正在初学servlet,本来想在业务逻辑的java文件中引入其他类,于是自定义了一个包,并在里面声明了一个类,之后在业务文件中import 引入,然后编译
javac -encoding utf-8 -d f:/java学习/demo3 -cp c:/tomcat/lib/servlet-api.jar study.java
然后直接出现错误:
study.java:3: 错误: 程序包com不存在
import com.demo;
^
study.java:7: 错误: 找不到符号
demo one = new demo();
^
符号: 类 demo
位置: 类 study
study.java:7: 错误: 找不到符号
demo one = new demo();
^
符号: 类 demo
位置: 类 study
3 个错误
于是乎想了很久,一点一点的修代码一点点找原因,后来我编译的时候不引入 servelet-api.jar(当然这时候要吧相应的import去掉) ,编译
javac -encoding utf-8 -d f:/java学习/demo3 study.java
之后编译成功,没什么问题,我猜测是因为 javac -cp 命令会导致不会加载当前目录的类,在此记录一下,至于解决方案,我简单粗暴将 servlet-api.jar 添加到了 CLASSPATH 中…
本文记录了作者在初学Servlet过程中遇到的包与类引入问题,尝试在业务逻辑的Java文件中引入自定义包内的类,但在编译时遇到了程序包不存在的错误。通过逐步排查,发现引入servlet-api.jar时会忽略当前目录下的类,最终通过调整CLASSPATH解决了问题。

被折叠的 条评论
为什么被折叠?



