【问题标题】:How do I properly deploy and structure projects in Eclipse against Tomcat?如何在 Eclipse 中针对 Tomcat 正确部署和构建项目?
【发布时间】:2011-05-26 18:44:09
【问题描述】:

我是一个相对较新的 Java 开发人员,被深埋,我通常的技能在于 Microsoft 产品和 C#。

但是我已经设法使用 Restlet 编写了一个不错的 Web 服务,并结合了 Toplink 并做了一些数据库 CRUD 等工作。

我在 Eclipse 中针对 Tomcat 5.5 开发了这个。我遵循教程和示例,并设法将一些有用的东西放在一起。

我的所有 jar 文件都放在项目的 WebContent/WEB-INF/lib 目录中 - 我很快意识到,当我将其导出为 WAR 文件并部署在 Tomcat 中时,它会使用这些 jar 文件并将它们存储在本地到应用程序。

很好,但是当您尝试取消部署应用程序时,它只是部分地执行它,因为 Tomcat “保留”了它正在使用的一些 jar,即 Oracle JDBC 和 Toplink 的。这是有道理的,因为 Web 服务正在使用这些 jar,因为正在进行实时 Oracle 连接。

然后我想我应该将所有这些 jar 放在一个公共位置,所有已部署的应用程序都可以访问它们,我认为该文件夹是:

C:\Program Files\Apache Software Foundation\Tomcat 5.5\common\lib

(在我的情况下)。这完全有道理,这是合乎逻辑的,因为您不希望 Tomcat 上的大量应用程序都引用相同的 jar。所以我从我的项目 lib 文件夹中删除了所有 jar,并将它们放在 common\lib 目录中。

现在我的应用程序将无法正常运行 - 它无法在 src 中找到我的源代码,这是我针对这些 jar 编写的自定义定制代码。仅当我将源代码 jar 并放入上述目录中时,它才会起作用。奇怪。

我显然对类路径和构建路径以及所有这些东西感到非常困惑,并且由于我不是 Java 专家,所以肯定是把这些东西都弄错了,因为我很容易承认我已经把这些东西一起破解了 - 所以任何人都可以用外行的方式向我解释我应该如何构建我的项目以使其与 Tomcat 中一个公共文件夹中保存的 jar 一起工作。或者网络上有什么好的资源可以帮助我解释我应该做什么。

希望这一切都有意义...

这是我当前项目的图片:

【问题讨论】:

    标签: java eclipse tomcat


    【解决方案1】:

    听起来你没有使用 WTP 网络项目。

    如果您安装了“Eclipse IDE for Java EE Developers”风格的 Eclipse,那么 WTP 已经捆绑在其中。否则在这里它的更新站点-> http://download.eclipse.org/webtools/updates

    安装 WTP 后,您应该创建“动态 Web 项目”。 一般来说,我建议只将您的表示层(JSP、CSS、HTML)放在这里,并将所有纯 Java 项目放入标准的“Java”项目中,然后将其作为“动态 Web 项目”的依赖项添加。

    WTP 可以在多个容器下运行您的 Web 应用程序,幸运的是支持 Tomcat。 您需要通过 Window->Preferences->Server->Runtime Environments 对其进行配置。

    配置运行时环境后,您可以创建服务器运行时:

    1. 在“服务器”视图中单击鼠标右键。
    2. 选择新建->服务器
    3. 选择服务器类型:'Tomcat v.5.5 Server'
    4. (可选)将服务器名称更改为对您有意义的名称
    5. 选择服务器运行时环境:这是您之前配置的运行时环境
    6. 点击“下一步”按钮
    7. 将“动态 Web 项目”项目添加到“已配置项目:”面板中
    8. 点击“完成”按钮

    配置服务器后,您可以直接运行它,也可以将其置于调试模式。依赖项目引用的所有源代码都可用于调试。

    注意: 根据个人经验,我不建议使用 common/lib。将您的 Web 应用程序所依赖的所有 jar 文件放入其 WAR 文件中。如果您担心依赖跟踪,请开始研究 Maven 和 m2eclipse。

    【讨论】:

    • 是的,我创建了一个动态 Web 项目并从那里开始 - 它在其中一个教程中。我的服务器运行时似乎也正常。
    • 我添加了我的项目布局的图片。
    【解决方案2】:

    通常我把罐子放在 $CATALINA_BASE/shared/lib/
    请阅读此documentation 以获得更多说明,特别是类加载器定义部分。
    复制 jars 后还要重新启动服务器。

    【讨论】:

      【解决方案3】:

      转到窗口 > 显示视图 > 其他 > 服务器 > 服务器,下面将出现一个服务器选项卡和控制台选项卡。单击您的服务器,然后单击 F3,这将打开服务器配置。
      检查服务器位置,并确保选中使用 tomcat 安装(控制 tomcat 安装),然后单击下面的模块选项卡,它将显示您安装的模块,确保模块存在或添加它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-07-04
        • 1970-01-01
        • 1970-01-01
        • 2015-04-24
        • 2011-10-03
        • 2011-02-22
        • 2014-10-22
        • 1970-01-01
        相关资源
        最近更新 更多