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

Java 尝试编译一个新的servlet来执行rest服务,java,tomcat,Java,Tomcat,我是为rest和这些版本的技术构建servlet的高手。。。。 由于servlet必须运行的位置,我们使用的是Java1.4.208和Tomcat版本5.5.17 我已经创建了一个Hello World示例,正在尝试编译它。它使用Jersey库(JAX-RS2.1)并得到以下错误:“javac:无源文件” 这是我正在使用的命令: C:\j2sdk1.4.2_08\bin\javac-sourcepath C:_restful\WEB-INF\classes\com\dmphealth\ws\he

我是为rest和这些版本的技术构建servlet的高手。。。。 由于servlet必须运行的位置,我们使用的是Java1.4.208和Tomcat版本5.5.17 我已经创建了一个Hello World示例,正在尝试编译它。它使用Jersey库(JAX-RS2.1)并得到以下错误:“javac:无源文件”

这是我正在使用的命令: 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\之后使用\after,也尝试过在\ws\之后使用*.java和*\ 他们都有相同的结果。。。 任何想法都将不胜感激。 戴夫

为了澄清,代码用斜体表示。
C:_restful是库和代码所在路径的第一部分。Java1.4的原因是servlet将进入的系统位于该平台上。此时升级平台以获得一个额外的servlet的成本很高。

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

Tomcat类目录通常包含编译的类(.class文件),而不是源(.java文件)。源文件应该在开发存储库中,编译它们实际上会创建.class文件并将它们复制到WEB-INF\classes

命令应如下所示:

C:\j2sdk1.4.2\u 08\bin\javac-sourcepath C:\path\u to\u源文件\u dir\*.java-classpath C:\\\\\\\\ restful\WEB-INF\lib\*-d C:\\\ restful\WEB-INF\classes

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


你这样做并不容易。最好使用IDE,创建一个lib类路径,然后从那里编译代码并将编译输出重定向到目标类目录。

Java1.4?从2002年开始?为什么?这是自2008年以来一直没有得到支持的。你已经支持了整整十年。什么是
C:\u restful
应该指的?这是一个不完整的路径。source.java文件实际上位于classes路径中。我在网上的其他地方学习了一个例子,所以我试着忠实于它。如果将源文件移动到另一个文件夹会更好,我可以。我将-d指向类路径。使用IDE的问题是找到一个与Java 1.4I兼容的。我将源代码移到了另一个目录,但得到了相同的错误:“javac:no source files”这里是更新cmd
C:\j2sdk1.4.2\u 08\bin\javac-sourcepath C:\\u restful\source\com\dmphealth\ws\*。Java-classpath“C:\\u restful\WEB-INF\lib”-dc:\\u restful\WEB-INF\classes
所以我在两个不同的平台和3个Java版本上尝试了这个方法,但都得到了相同的错误。我发现,如果同时删除-classpath选项和-sourcepath标记,它将找到源文件,但无法完成编译,因为它找不到所需的库。这是最新的命令行:
C:\\u restful>C:\j2sdk1.4.2\u 08\bin\javac-d WEB-INF\classes\source\com\dmphealth\ws\*.java