我在使用Tomcat 6和Eclipse部署动态Web应用程序时使用的一些第三方库(JAR文件)存在问题。
请注意,我知道如何在设置中执行此操作,其中Web应用程序项目 - 直接 - 依赖于这些JAR。
但是,在我的设置中,我有两个Eclipse项目:
a.jar
。在 web 的项目设置中,在部署程序集类别中,我添加了核心,因此Eclipse(或Tomcat - 我'我不太确定这里的负责人是谁)将core.jar
放入我的网络应用程序的libs
目录。
问题是:当我试用网络应用程序时,当核心从NoClassDefFoundError
访问类时,会抛出a.jar
。我该怎么办呢?我不认为将a.jar
放入我的Web应用程序的部署程序集设置页面是正确的解决方案,因为它应该与 web 项目,核心项目所依赖的内容。
基本上,我正在寻找一种方法来配置Eclipse(Tomcat?)以将核心的依赖关系“嵌入”core.jar
。这个问题是,当我部署 web 项目时会自动生成core.jar
。
非常感谢帮助。 提前谢谢!
答案 0 :(得分:8)
嗯,我自己也找到了答案。
对于那些将来阅读本文的人,我将逐步解释,使用我在my original message中介绍的语义:
首先,打开核心项目的属性页面,然后导航到“Java Build Path”设置的“Libraries”选项卡:
请务必通过“添加JAR ...”添加您的核心项目依赖的类库a.jar
。然后,转到“订购和导出”标签,并激活刚刚添加的a.jar
以便导出。
然后转到'部署程序集'设置并在此处添加a.jar
,方法是首先单击“添加...”,然后单击“Java构建路径条目”,最后选择a.jar
。确保输入“../”作为a.jar
的部署路径:
现在您已完成核心项目。现在打开 web 项目的“Java Build Path”设置的“Projects”页面,点击“Add ...”添加核心项目:
最后,导航到“部署程序集”设置页面,按“添加...”,然后选择“项目”并在下一个屏幕上选择核心项目:
你已经完成了。无需将核心依赖项添加到 web 项目中。
答案 1 :(得分:0)
据我所知,eclipse不适合你。项目依赖项适用于编译时。跨越项目的运行时依赖项应由您处理。您可以使用一个技巧来创建用户库。转到首选项 - > Java - >构建路径 - >用户库。创建一个新的用户库。添加“核心”项目所依赖的所有罐子。将其添加为“核心”和“Web”项目的依赖项。为此,右键单击项目 - >构建路径 - >配置构建路径 - > “库”选项卡 - >添加图书馆......
希望这有帮助
答案 2 :(得分:0)
我建议使用Maven,它会自动为您编译jar
个文件,Eclipse
也可以与Maven
一起使用。
答案 3 :(得分:0)
如果您有Gradle-Project,请确保在子项目的build.gradle中具有“ eclipse-wtp”插件。