2

有时我们必须在项目中保留非常多的小文件(例如 isomorphic 的智能客户端)。它大约是 10k 个小文件。svn(我不知道 git 如何处理它)、复制、打包等存在问题,但这些文件几乎永远不会改变,因为它只是一个外部库。有没有办法将它们保存在一个 zip 文件中并告诉 tomcat 从该文件中托管它们?或者他们应该以不同的方式处理?有什么最佳实践吗?

更准确地说。这是我的文件夹结构:

src/main/
     +---webapp/
     |      +---static/    <-- thousand 3rd party's files in this dir
     |
     +---java/

Maven 将使用我的代码和静态文件构建战争,它会起作用。但在战争建立之前处理这么多文件是一个 PINA。我想要某样东西:

src/main/
     +---webapp/
     |      +---static.zip    <-- only 1 file
     |
     +---java/

是否可以在流行的 Web 服务器上使用?

4

1 回答 1

1

如果您在 servlet-3.0 Web 应用程序中,请创建一个 jar 文件并将所有静态资源放在该 jar 文件中的 META-INF/resources 下。然后将此 jar 文件放在 web 应用程序的 WEB-INF/lib 中,容器将为您的静态资源提供服务,就好像它们位于 webapp 的根目录一样。

因此,如果您希望静态资源 foo.hml 的 URL 为

http://localhost/myWebApp/static/foo.html, 

你应该有这个目录/jar结构:

webapp
  WEB-INF
    lib
      static.jar
        META-INF
          resources
            static
              foo.html
于 2013-04-28T16:34:36.773 回答