使用Tomcat进行Eclipse Web应用程序部署:提供多个项目的依赖关系?

时间:2012-06-18 10:57:44

标签: java eclipse tomcat

我在使用Tomcat 6和Eclipse部署动态Web应用程序时使用的一些第三方库(JAR文件)存在问题。

请注意,我知道如何在设置中执行此操作,其中Web应用程序项目 - 直接 - 依赖于这些JAR。

但是,在我的设置中,我有两个Eclipse项目:

  • 核心是一个类库,依赖于a.jar
  • web 是网络应用程序,取决于核心

web 的项目设置中,在部署程序集类别中,我添加了核心,因此Eclipse(或Tomcat - 我'我不太确定这里的负责人是谁)将core.jar放入我的网络应用程序的libs目录。

问题是:当我试用网络应用程序时,当核心NoClassDefFoundError访问类时,会抛出a.jar。我该怎么办呢?我不认为将a.jar放入我的Web应用程序的部署程序集设置页面是正确的解决方案,因为它应该与 web 项目,核心项目所依赖的内容。

基本上,我正在寻找一种方法来配置Eclipse(Tomcat?)以将核心的依赖关系“嵌入”core.jar。这个问题是,当我部署 web 项目时会自动生成core.jar

非常感谢帮助。 提前谢谢!

4 个答案:

答案 0 :(得分:8)

嗯,我自己也找到了答案。

对于那些将来阅读本文的人,我将逐步解释,使用我在my original message中介绍的语义:

首先,打开核心项目的属性页面,然后导航到“Java Build Path”设置的“Libraries”选项卡:

enter image description here

请务必通过“添加JAR ...”添加您的核心项目依赖的类库a.jar。然后,转到“订购和导出”标签,并激活刚刚添加的a.jar以便导出。

enter image description here

然后转到'部署程序集'设置并在此处添加a.jar,方法是首先单击“添加...”,然后单击“Java构建路径条目”,最后选择a.jar。确保输入“../”作为a.jar的部署路径:

enter image description here

现在您已完成核心项目。现在打开 web 项目的“Java Build Path”设置的“Projects”页面,点击“Add ...”添加核心项目:

enter image description here

最后,导航到“部署程序集”设置页面,按“添加...”,然后选择“项目”并在下一个屏幕上选择核心项目:

enter image description here

你已经完成了。无需将核心依赖项添加到 web 项目中。

答案 1 :(得分:0)

据我所知,eclipse不适合你。项目依赖项适用于编译时。跨越项目的运行时依赖项应由您处理。您可以使用一个技巧来创建用户库。转到首选项 - > Java - >构建路径 - >用户库。创建一个新的用户库。添加“核心”项目所依赖的所有罐子。将其添加为“核心”和“Web”项目的依赖项。为此,右键单击项目 - >构建路径 - >配置构建路径 - > “库”选项卡 - >添加图书馆......

希望这有帮助

答案 2 :(得分:0)

我建议使用Maven,它会自动为您编译jar个文件,Eclipse也可以与Maven一起使用。

答案 3 :(得分:0)

如果您有Gradle-Project,请确保在子项目的build.gradle中具有“ eclipse-wtp”插件。