【问题标题】:Understanding imported WAR in Eclipse and its folder structure了解 Eclipse 中导入的 WAR 及其文件夹结构
【发布时间】:2008-12-08 16:05:00
【问题描述】:

我刚刚从外部站点导入了一个 WAR 文件,它基本上是 Eclipse IDE 中的一个 servlet(该项目在 Apache-Tomcat 上运行)。

当我导入它时,它有一个名为 Web App Libraries 的文件夹。所以这里是我的一些新手问题:

  1. 我不确定此文件夹的确切用途是什么?它有什么作用,你为什么选择在你的项目中使用它?

  2. 我看到它有一个名为 Improted Classes 的文件夹和其中的 foobar.class 文件 - 为什么?
    (这些似乎反映在 Web Content 文件夹 - 虽然在这里您可以修改代码,因为它们是 foobar.java。)

  3. 也有对 foobar.jar 文件的引用 - 这些也反映在 WEB-INF/lib 文件夹中 - 为什么?

我知道这些是基本类型的问题,但我刚刚开始掌握 Java 和网站开发,如果它们听起来有点愚蠢,请道歉! - 顺便说一句,如果有人知道任何好的在线资源来了解更多关于这样的项目文件结构的信息,请告诉我。我只需要尽快掌握这些东西 - 因为项目截止日期很快。

干杯。

这是一个屏幕截图,只是为了帮助您进行可视化:

【问题讨论】:

    标签: java eclipse


    【解决方案1】:

    我假设这是来自“项目资源管理器”视图的屏幕截图。它不显示确切的文件夹和文件结构,只是添加了一些由项目元数据构建的糖果。

    • 要查看项目的真实结构,请尝试切换到“导航器”视图。
    • 在 WAR 文件导入期间,Eclipse 主要做两件事:
      • 创建一个新的 Web 项目并将 WAR 的内容复制到新项目的“WebContent”子文件夹中。
      • 基于 WAR,它构造项目的元数据(.project 和 .classpath 文件)。
    • “Web 应用程序库”部分显示 WAR 包含的 jar 文件列表(在 WEB-INF/lib 中
    • “导入的类”(我也是第一次看到)似乎包含在导入的 WAR (WEB-INF/classes) 中找到的类,Eclipse 无法找到任何相应的源文件。要解决此问题,请在项目中创建一个新的 Java 源文件夹,并将您现在在“firstResource”文件夹中拥有的类移动到该文件夹​​。

    【讨论】:

      【解决方案2】:

      Web App Libraries 不是一个真正的目录,而是 Eclipse 认为是该项目的库的列表。

      一般来说,这包括WebContent/WEB-INF/lib/中的所有jar文件

      有时,Eclipse 不再将它们列在 Eclipse 包资源管理器中的真实目录中……但如果您使用其他程序查看它们,它们仍然存在。

      【讨论】:

      • 但是它是用来做什么的呢?没有它你能做到吗?
      【解决方案3】:

      在 Eclipse 中,如果您使用的是 Java Web Development 视图,您将进行如下配置:

      1. 提供 servlet 库的 Tomcat 服务器运行时
      2. Java 运行时
      3. 其他需要的库

      项目中的 Web App Libraries 复制了第一个设置,因此您不需要在开发盒上安装本地 Tomcat。

      其余的对我来说听起来很乱。

      您的 src / JavaSource 文件夹中包含原始 Java 文件。它们不应该出现在 Web 内容中 - 用于 HTML、图像、JSP 等。

      一个典型的项目设置:

      Project Name/
         JavaSource/ or src/ // holds all the Java Source Files, Servlets, Struts Actions
         WebContent/         // Nice root folder to hold web content files
             content files and folders
             WEB-INF/        // Web App Config folder
                 lib/        // Libraries (but not tomcat ones)
                 web.xml
                 classes/    // Where your compiled Java goes, and configs (log4j.properties)
      

      有些人也把JSP放在WEB-INF里面,因为它不需要在JSP文件状态下可以访问,只在Tomcat自己做的编译状态下即可。

      【讨论】:

        【解决方案4】:

        它很简单,eclipse 为您的项目结构提供了多种视图。您正在查看的视图绝对是 Package Explorer 视图。在这种情况下,前面有一个特殊图标的所有东西都是一个帮助项,它可以通过简化对外部库(由计算机上的软件或 eclipse 本身或其他项目提供)等某些东西的访问来帮助您。

        在eclipse中,进入菜单->窗口->显示视图->导航器 Navigator 视图将告诉您项目的真实文件夹结构。

        【讨论】:

          猜你喜欢
          • 2022-07-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-10-18
          • 1970-01-01
          • 2014-01-08
          相关资源
          最近更新 更多