Java 托管许多静态文件的最佳实践

Java 托管许多静态文件的最佳实践,java,file,web-applications,Java,File,Web Applications,有时我们不得不在项目中保留很多小文件(例如,isomorphic的智能客户端)。大约有一万个小文件。svn(我不知道git如何处理)、复制、打包等都有问题,但这些文件几乎永远不会改变,因为它只是一个外部库。有没有办法将它们保存在一个zip文件中,并告诉tomcat从该文件中托管它们?还是应该以不同的方式处理?有什么最佳实践吗 更准确地说。这是我的文件夹结构: webapp WEB-INF lib static.jar META-INF

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

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

webapp
  WEB-INF
    lib
      static.jar
        META-INF
          resources
            static
              foo.html
src/main/
+---网络应用/

|+---static/如果您在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

可能使用war文件?我必须构建包含这些文件和我的应用程序的war文件。每次我更改代码时都必须这样做。我不想把这些文件放在我的磁盘上,IDEETCAWAR文件不是解决方案,而是一个jar。如果这不适合你,请在你的问题(而不是评论)中进一步解释这个问题。你可以使用它将静态资源打包成一个覆盖层,在构建war时,它将与你的其他代码相结合。这允许您将资源移出主开发存储库和IDE。但这意味着我不能做jetty:在本地运行和测试它?