【问题标题】:Eclipse Web-App Deployment with Tomcat: Providing multiple projects' dependencies?使用 Tomcat 部署 Eclipse Web-App:提供多个项目的依赖项?
【发布时间】:2012-06-20 08:06:44
【问题描述】:

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

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

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

  • core 是一个类库,它依赖于,比如说,a.jar
  • web 是 Web 应用程序,依赖于 core

web的项目设置中,在DeploymentAssembly类中,我已经添加了core,所以Eclipse(或者Tomcat - I'我不太确定这里的负责人是谁)正在将core.jar 放入我的网络应用程序的libs 目录中。

问题是:当我试用 Web 应用程序时,当 core 访问来自 a.jar 的类时,会抛出 NoClassDefFoundError。我该怎么办?我不认为将a.jar 放入我的 Web 应用程序的 Deployment Assembly 设置页面是正确的解决方案,因为它应该与 web 项目无关,核心项目所依赖的。

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

非常感谢您的帮助。 提前致谢!

【问题讨论】:

    标签: java eclipse tomcat


    【解决方案1】:

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

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

    首先,打开 core 项目的属性页面并导航到“Java 构建路径”设置的“库”选项卡:

    确保通过“添加 JAR...”添加您的类库 a.jar,您的 核心 项目依赖于此。然后,转到“订购和导出”选项卡并激活刚刚添加的 a.jar 以进行导出。

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

    现在您已经完成了您的 core 项目。现在打开您的 web 项目的“Java 构建路径”设置的“项目”页面,然后单击“添加...”添加您的 core 项目:

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

    你已经完成了。无需将您的 core 依赖项添加到您的 web 项目中。

    【讨论】:

      【解决方案2】:

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

      希望对你有帮助

      【讨论】:

        【解决方案3】:

        我建议使用Maven,它会自动为您编译jar 文件,Eclipse 也可以很好地与Maven 配合使用。

        【讨论】:

          【解决方案4】:

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2010-12-14
            • 1970-01-01
            • 1970-01-01
            • 2011-01-08
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多