我正在使用Eclipse m2e插件将现有的Web应用程序导入Eclipse。 Tomcat用于部署Web应用程序。我从Eclipse运行Tomcat'服务器列表。 一切正常,除非我尝试在Tomcat服务器上运行项目时遇到ClassNotFoundException。未找到的类是来自另一个m2e项目的类,它依赖于Web应用程序项目。
我导航到Web应用程序部署文件夹中
$EclipseWorkspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/MyApp/WEB-INF/lib
并发现包含抱怨未找到类的jar确实是在WEB-INF / lib中生成的。但是这个罐子的布局很奇怪。
布局如下
src/main/java/com/mycompany/xxx.java
target/classes/com/mycompany/xxx.class
但不是预期
com/mycompany/xxx.class
我查看了Web应用程序属性的Deployment Assembly部分,一切都很好。
为什么Eclipse(或m2e插件)生成错误的格式化JAR文件?
答案 0 :(得分:1)
我使用maven Eclipse插件通过
mvn eclipse:eclipse
为Eclipse生成.classpath,.project文件和.settings /文件夹。
我没有清理所有这些Eclipse
.classpath file
.project file
.wtpmodules file
.setting folder
在我使用Eclipse m2e插件之前。
最后我删除了所有这些
.classpath file
.project file
.wtpmodules file
.setting folder
。
并使用m2e插件将所有maven项目重新导入Eclipse。
然后我提到的问题就消失了!现在所有的罐子都很好! 看起来现有的Eclipse文件会导致m2e插件不满意,并产生意外结果。