当前位置:  开发笔记 > 编程语言 > 正文

Eclipse调试时类路径问题:如何将依赖项目的输出包含到Web项目的运行时类路径中?

如何解决《Eclipse调试时类路径问题:如何将依赖项目的输出包含到Web项目的运行时类路径中?》经验,为你挑选了2个好方法。

所以我开始使用一个Web服务项目(只是一个动态Web项目),可以从eclipse中正确构建和调试.我们已经提取了一大堆常用代码,我们希望将它们放入共享库中,所以现在这些类将进入一个单独的jar项目,该项目引用了Web项目.

在Web项目中,我做了Project-> Properties-> Java Build Path-> Projects-> Add并添加了jar项目.这正确地解决了所有编译时类路径问题,一切都很好.但是在运行时,当tomcat服务器启动时,spring尝试注入jar文件中包含的一些类,并得到一个NoClassDefFoundError.

我的.class和属性文件以及我的META-INF目录的内容显示在./build目录中,但我的WEB-INF/lib目录似乎是就地引用的,并且jar依赖项不会被复制在它中显示为Web App Library的一部分.

告诉eclipse在运行时需要将另一个jar项目提供给tomcat的神奇咒语是什么?从我们的ant构建脚本开始,我们首先将另一个项目构建到WEB-INF/lib中,一切正常,但不适用于eclipse调试.



1> Anoop Isaac..:

花了一些时间后,我想出了这个.如果您在Eclipse Helios中,请转到properties > deployment assembly > add > project并选择要添加的依赖项目.



2> Vineet Reyno..:

Java EE模块依赖项将解决此问题.您已经完成了将公共类提取到自己的项目中的任务,可能是因为其他项目依赖于这些类.无论哪种方式,您都必须确保这是一个Utility项目(出现在项目向导中的Java EE下),而不仅仅是一个普通的Java项目.完成后,您可以继续将实用程序项目添加到构建路径(编译时路径)中,如您所知.

另外(最后)步骤是在Dynamic Web项目和共享库之间建立Java EE模块依赖关系,这会导致实用程序的类在部署期间放置在WEB-INF\lib中,甚至在导出WAR期间.为此,请访问动态Web项目的属性,然后浏览到Java EE模块依赖项.确保在此处选择您的实用程序项目.重新部署/发布您的应用程序,您应该很高兴.

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有