Tomcat为其他开放日食项目中的类抛出ClassNotFoundexception

我有一个eclipse项目结构,看起来像这样:

eclipse project a project b 

所有这些项目都是Maven项目。 项目B是Eclipse WTP项目,包含项目A作为依赖项。 我正在使用m2eclipse插件。

当我将Project B部署到Tomcat(所有这些都来自Eclipse中)时,它总是抛出错误,说它无法从Project A中找到类。我可以解决这个问题的唯一方法是关闭 Eclipse中的Project A并执行mvn install命令,所以在这一点上,项目A被视为任何其他依赖项。

我希望不必再次重新打开,然后每当我对其进行更改时关闭项目A(这在现阶段经常发生)。

我已经尝试将Project A添加到Project B的Build Path中,但是这似乎并没有成功。 同样,它只有在我在eclipse中关闭项目时才有效,所以它被视为普通的maven依赖。

仅供参考我正在使用Helios版Eclipse。 项目B是一个Spring项目,因此当它导入所有bean等时,Tomcat自然会崩溃。

有没有人有什么建议? 非常感谢。

tomcat无法找到你的类的原因是tomcat没有看到eclipse中的项目依赖。 要解决此问题,可以将项目a的bin文件夹添加到从项目b运行的应用程序的tomcat类路径中。

你需要做的是:

  1. 在Eclipse中,转到Window> Show View> Servers>并打开名为Servers的选项卡
  2. 在“服务器”中,双击所需的服务器
  3. 此操作应在TAB中打开一个名为Overview的窗口,其中包含您选择的服务器
  4. 在此窗口中选择:打开启动配置,然后单击链接。
  5. 在“编辑配置”窗口中,选择名为Classpath的选项卡
  6. 在ClassPath文本框中,选择行:用户条目
  7. 现在按下右侧标题为“添加项目”的按钮
  8. 在生成的“项目选择”窗口中,选择希望服务器通过单击查找的外部项目。
  9. 通过单击“应用”关闭这些窗口,然后在处理堆栈时根据需要单击“确定”
  10. 在Overview窗口中重新启动服务器

你应该准备好了。 它实际上只是一个2分钟的运动。 祝你好运

如果您转到项目属性,选择“部署程序集”项,单击“添加…”并选择“项目”,您可以添加依赖项目,问题应该解决。

右键单击添加到容器服务器的Web项目,然后选择Maven,然后选择Disable Workspace Resolution。 然后您的依赖项目将开始像任何其他依赖项一样显示为jar。

右键单击WebProject – > Maven – >禁用工作区分辨率。

您是否安装了了解WTP的m2eclipse扩展? 如果没有它,m2e将无法正常用于WTP项目。 看到这个:

https://docs.sonatype.org/display/M2ECLIPSE/WTP+mini+howto

简单方法:

Run -> Run Configurations... -> Classpath