5

当前的 spring-mvc webapp (也在另一个 primefaces webapp 中看到过) webapplication 目录结构:

webapp
|
|_src
|
|_WebContent
  |
  |__WEB-INF
  |
  |__META-INF
     |
     |__MANIFEST.MF

总是在目录中看到和MANIFEST.MF归档。META-INF有时,如果我删除它们,似乎什么都不会发生。他们的作用是什么?

~#:cat MANIFEST.MF

Manifest-Version: 1.0
Class-Path:
4

1 回答 1

11

对于 Web,META-INF 目录通常位于基于 Java 的 Web 应用程序中,例如 jsp(Java 服务器页面)。您还可以在 Java 相关的网络服务器(例如 Apache-Tomcat)中找到它们。

你提到的文件:

MANIFEST.MF:清单文件,用于定义扩展和包相关数据。所以大多数情况下,它可以包含人类可读的信息,如版本、生产者、..,但也可以包含机器可读的信息,如您可能正在使用的外部框架中的模块依赖项

META-INF 中的所有内容:

META-INF 目录中的文件/目录由 Java 平台识别和解释,以配置应用程序、扩展、类加载器和服务。

当您不“偏离”正常路径时(例如:您没有其他框架,...),您不需要某些文件,因此如果您删除它们,则不会发生任何事情。Java 将为每个应用程序创建一个默认清单文件。

于 2013-06-24T09:12:20.687 回答