尝试编译一个新的servlet来执行rest服务

时间:2018-11-19 23:39:41

标签: java tomcat

我不擅长为其余部分和这些版本的技术构建servlet。... 由于必须在哪里运行servlet,我们使用的是Java 1.4.2_08和Tomcat 5.5.17版 我创建了一个Hello World示例,并尝试对其进行编译。它使用Jersey库(JAX-RS 2.1)并得到以下错误:“ javac:无源文件”

这是我正在使用的cmd: C:\ j2sdk1.4.2_08 \ bin \ javac -sourcepath C:_restful \ WEB-INF \ classes \ com \ dmphealth \ ws \ helloworldresource.java -classpath“ C:_restful \ WEB-INF \ lib \”- d C:_restful \ WEB-INF \ classes 我试过只在\ ws \之后使用\,也尝试过* .java和*在\ ws \之后 他们都有相同的结果... 任何想法将不胜感激。 戴夫

为澄清代码,在上面的斜体中。 C:_restful是库和代码所在路径的第一部分。 Java 1.4的原因是因为Servlet将进入的系统在该平台上。这时为了升级平台而增加一个servlet的成本很高。

1 个答案:

答案 0 :(得分:1)

您的目录结构很奇怪。 最好不要将任何源存储在classes目录中。

Tomcat classes目录通常包含编译的类(.class文件),而不包含源代码(.java文件)。源文件应位于开发存储库中,对其进行编译将实际上创建.class文件并将其复制到WEB-INF \ classes

命令应如下所示:

C:\ j2sdk1.4.2_08 \ bin \ javac -sourcepath C:\ path_to_the_source_file_dir \ *。java -classpath C:\ _ restful \ WEB-INF \ lib \ * -d C:\ _ restful \ WEB-INF \ classes

确保-sourcepath实际上包含任何要编译的.java文件!

执行此操作的方法并不容易。您最好使用IDE,创建一个lib类路径,然后从那里编译您的代码,然后将编译输出重定向到目标类目录。