编译servlet时出错:找不到文件

时间:2013-08-06 13:11:58

标签: java

我正在尝试编译一个名为servlet的{​​{1}},我收到此错误:

BeerSelect.java

我编译使用:javac -classpath javac: file not found: BeerSelect.java

我使用此命令编译,将当前目录设置为存储"C:\Program Files\Apache Software Foundation\Apache Tomcat 7.0.34\lib\servlet-api.jar"; -d classes \BeerSelect.java的位置,我的类路径设置正确。

我在这个网站上查了很多相关问题而无法得到答案

2 个答案:

答案 0 :(得分:0)

您不应该将类路径设置为指向JDK bin目录 - 而应该是PATH环境变量,它与classpath有不同的用途。 (类路径定义了包含已编译的Java .class代码的jar和目录列表; PATH变量定义了一个路径列表,其中shell需要查找并找到当前目录中找不到的程序时执行 - 所以如果你输入例如zip - 它会查看PATH中定义的所有目录,并确定zip程序位于/ usr / bin下。其次,如果要从两个目录编译源,则需要指定:

源的所有路径(home / pathToFolderA / src和home / pathToFolderB / gen-java) 要生成已编译的.class文件的路径 在类路径中指定您可能在源文件中使用的任何库 总而言之,编译会是这样的:

javac -d /home/pathToFolderWithResultsOfCompilation -classpath /path/to/some.jar:/path/to/another.jar home/pathToFolderA/src/*.java home/pathToFolderB/gen-java/*.java 

并运行已编译的程序:

java -classpath /path/to/some.jar:/path/to/another.jar:/home/pathToFolderWithResultsOfCompilation full.name.of.your.Java

答案 1 :(得分:0)

我正在使用的命令的问题:
javac -classpath“C:\ Program Files \ Apache Software Foundation \ Apache Tomcat 7.0.34 \ lib \ servlet-api.jar”; -d 班级 \ BeerSelect.java

使用路径名来存储编译结果(.class文件)并在BeerSelect servlet名称上加上反斜杠(我突出显示了错误)。 我将命令改进为这样:

javac -d C:\ Users \ ModernWarFare \ Desktop \ MyProject \ beerV1 \ classes BeerSelect.java

highlited路径是我要存储.class文件的地方,我没有指定BeerSelect.java文件的路径,因为它在当前目录中

请注意,我省略了servlet-api.jar文件的路径,因为我使用的是tomcat 7,它已经拥有了我需要存储在C:\ Program Files \ Apache Software Foundation \ Apache Tomcat 7.0.34上的所有jar文件\ lib目录。

很抱歉迟到了,我的网上时间有限

相关问题