Eclipse中maven项目没法自动编译、编译失败、WEB-INF/classes目录中没有Class文件
2014-07-16 09:41阅读:
Eclipse中maven项目无法自动编译、编译失败、WEB-INF/classes目录中没有Class文件
我们都知道,在一个典型的Maven项目中,编译后的class文件默认是放在targert/classes目录下的。但是我今天碰到一个比较奇怪的问
题,在Eclipse中我通过import exsiting maven
projects的方法,导入了2个maven的project,一个是非web
project,另一个是web project。 在web project的target
classes中,并没有我们期望的Class文件,所以部署到Eclipse的tomcat中时,在WEB-INF/classes中也没有对应的
Class类。可能的原因有如下多个原因,希望大家可以对号入座:
1. 执行maven的命令,mvn clean install -DskipTests可以编译成功,在target/classes中可以看到相关的Class文件,但是如果在Project/Clean中 clean相关的Project时,还需要重新使用mvn clean install -DskipTests重新生成Class文件(target/classes会被删除)
2. 执行mvn eclipse:clean eclipse:eclipse命令,并刷新后可以看到该 Maven的Project变成了一个真正的常规的java的web project(在Project的icon上后有一个小圆球),这时,即使是使用Project/Clean后,也会在test/classes中重新 自动生成Class类文件。但是你可能会碰到一个更加严重的问题,就是在Eclipse的Tomcat的wtpwebapps目录中不会有该web项目, 换句话说,就是该项目不能被成功的部署到Eclipse的Tomcat中,这很有可能的原因是Deployment Assembly(程序部署集)或者是Project Facets
1. 执行maven的命令,mvn clean install -DskipTests可以编译成功,在target/classes中可以看到相关的Class文件,但是如果在Project/Clean中 clean相关的Project时,还需要重新使用mvn clean install -DskipTests重新生成Class文件(target/classes会被删除)
2. 执行mvn eclipse:clean eclipse:eclipse命令,并刷新后可以看到该 Maven的Project变成了一个真正的常规的java的web project(在Project的icon上后有一个小圆球),这时,即使是使用Project/Clean后,也会在test/classes中重新 自动生成Class类文件。但是你可能会碰到一个更加严重的问题,就是在Eclipse的Tomcat的wtpwebapps目录中不会有该web项目, 换句话说,就是该项目不能被成功的部署到Eclipse的Tomcat中,这很有可能的原因是Deployment Assembly(程序部署集)或者是Project Facets
