You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用命令提示符编译含JDBC的Java Servlet文件报错求助

解决javac编译Servlet时的"no source file"错误

看起来你在编译带JDBC的Servlet时踩了命令语法的小坑,我帮你梳理一下问题和解决办法:

问题根源

你写的命令里引号位置出错了,导致javac没认出DatabaseAccess.java是要编译的源文件。原命令中,你在ojdbc6的jar路径后面加了个空格和未闭合的引号,这会让javac误以为DatabaseAccess.java是类路径的一部分,自然就找不到要编译的源文件了。

修正后的命令

你可以用下面两种正确的命令之一来编译:

方式1:不带引号(适用于路径无空格的情况)

javac -cp .;C:\MyWebProject2\tomcat\lib\servlet-api.jar;C:\MyWebProject2\tomcat\webapps\database\WEB-INF\lib\ojdbc6-11.2.0.2.0.jar DatabaseAccess.java

方式2:带引号(更稳妥,尤其路径含空格时)

如果你的路径里有空格(比如文件夹名带空格),可以把每个jar的路径单独用引号括起来,确保类路径和源文件清晰分隔:

javac -cp .;"C:\MyWebProject2\tomcat\lib\servlet-api.jar";"C:\MyWebProject2\tomcat\webapps\database\WEB-INF\lib\ojdbc6-11.2.0.2.0.jar" DatabaseAccess.java

额外注意事项

  • 确保命令提示符当前工作目录就是DatabaseAccess.java所在的目录,如果不是,记得在源文件名前加上完整的文件路径。
  • 编译成功后,一定要把生成的.class文件放到Web项目的WEB-INF/classes目录下,Tomcat才能正确加载这个Servlet。
  • 要是后续还有编译错误,先检查jar包的路径是否完全正确,有没有拼写错误或者路径大小写问题(Windows下路径不区分大小写,但最好还是和实际路径一致)。

内容的提问来源于stack exchange,提问作者Asif Al Amin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 07:13:17