使用命令提示符编译含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
相关产品推荐
相关产品推荐

