eclipse中的meavn项目添加到tomcat时找不到项目问题

转自https://blog.csdn.net/coffee_fighter/article/details/81482245

今天在myeclipse 2017 CI这个IDE上new了一个maven项目

然后想通过右键tomcat,点击add/remove deployments,想把刚刚创建的maven项目demo_maven发布到tomcat中,结果发现

tomcat的add/remove deployments列表中没有刚刚创建的maven项目demo_maven

解决步骤:

一、右键刚刚创建的maven项目demo_maven,选择Properties(或者直接选中刚刚创建的maven项目,按快捷键alt+enter),点击Project Facets,然后在窗口中选中Dynamic Web Module、java、javaScript这3项,然后点击ok

二、demo_maven工程目录中会多出一个WebRoot目录,WebRoot目录下有META_INF、WEB_INF目录

三、然而pom.xml中还是会报错:web.xml is missing and <failOnMissingWebXml> is set to true

该报错的意思是缺少web.xml,解决方法是:加入web.xml或者在pom.xml加入<failOnMissingWebXml> true</failOnMissingWebXml>标签

我直接是通过添加web.xml解决该报错的,右键项目,选择java ee tools --> generate deployments descriptor stub即可在webroot/web inf下生成web.xml文件了,pom.xml的报错也消失了

四、但是一个标准的maven项目中并没有webroot这种名称的目录,这样的工程虽然现在或许能够直接右键tomcat直接发布出去并且能够正常使用,但是maven install打包出来的war包是不能够正常运行的。所以,现在我们需要将工程目录修改成符合maven目录规范的maven工程。

直接将webroot中的所有文件目录都copy到src/main/webapp中,然后将webroot目录删除

右键项目demo_maven,选择Properties(或者直接选中刚刚创建的maven项目,按快捷键alt+enter),选择Deployment下的Deployment Assembly

然后选中/WebRoot,点击右侧的remove

点击add

点击Folder-->next

选中src/main/webapp这个目录,点击finish

之后继续点击add,点击java build path entries,然后next

选中Maven Dependencies,然后点击finish

点击ok

五、到了这步,大功告成(或许项目还会因为缺少dependency而报错,只要在pom.xml中加入servlet等等这些项目需要的dependency即可解决),右键tomcat,点击add/remove deployments,在列表既可以看到刚刚创建的maven项目demo_maven,选中项目,点击add,就可以部署maven项目到tomcat中了。同时maven install产生的war包也是可以正常使用的。

一般初始化maven需要在pom.xml中加入的dependency为:


 
 
  1. <dependencies>
  2. <dependency>
  3. <groupId>javax </groupId>
  4. <artifactId>javaee-api </artifactId>
  5. <version>7.0 </version>
  6. <scope>provided </scope>
  7. </dependency>
  8. <dependency>
  9. <groupId>javax.servlet </groupId>
  10. <artifactId>javax.servlet-api </artifactId>
  11. <version>4.0.1 </version>
  12. <scope>provided </scope>
  13. </dependency>
  14. <dependency>
  15. <groupId>javax.servlet.jsp </groupId>
  16. <artifactId>javax.servlet.jsp-api </artifactId>
  17. <version>2.3.2-b02 </version>
  18. <scope>provided </scope>
  19. </dependency>
  20. <dependency>
  21. <groupId>jstl </groupId>
  22. <artifactId>jstl </artifactId>
  23. <version>1.2 </version>
  24. </dependency>
  25. <dependency>
  26. <groupId>junit </groupId>
  27. <artifactId>junit </artifactId>
  28. <!-- 默认的版本为3.8.1,修改为4.x,因为3.x使用的为编程的方式,4.x为注解的形式。 -->
  29. <version>4.12 </version>
  30. </dependency>
  31. </dependencies>

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值