我有一个Eclipse Web项目,在我将其转换为Maven项目之前一直运行良好。以前,我可以对servlet进行更改,从Eclipse Servers选项卡重新启动Tomcat,然后浏览到我的localhost以查看该页面。我对JSP文件所做的任何更改都会在页面重新加载时立即反映出来。
转换为Maven项目后,当我对Java文件进行更改时,即使我自动选择了Build,也不会更新build目录下的.class文件。如果我删除.class文件,它不会被重建。如果我尝试在浏览器中查看webapp,我会看到servlet类的ClassNotFoundException。
我花了很多时间浏览项目的属性并在线搜索,但我无法弄清楚如何让它再次运行。任何帮助表示赞赏。
更新:我通过将源文件从project_root / src移动到src / main / java来解决部分问题。现在我可以使用Maven构建项目,但我仍然需要手动将类文件复制到本地tomcat的webapp目录。如果有人知道自动化的方法,我想听听。谢谢。
答案 0 :(得分:0)
我通过将源文件从project_root / src移动到src / main / java然后确保src / main / java位于Project>下的构建路径上来解决这个问题。属性> Java构建路径>来源标签。 Eclipse现在将我更改的文件部署到.metadata下的正确目录中,以便更改显示在我的本地Tomcat实例中。 @davidfmatheson,感谢您的评论,我将研究使用m2e-wtp。
答案 1 :(得分:0)
您的java构建路径中生成的java类可能有不正确的输出文件夹。 它应该是yourprojectname / target / buildfoldername / WEB-INF / classes。 选择你的项目 - >属性 - > java构建路径 - > source->将输出文件夹src / main / java更改为上面的路径。