代码之家  ›  专栏  ›  技术社区  ›  S. Buda

从Struts2.5 web服务器访问外部项目静态web资源

  •  1
  • S. Buda  · 技术社区  · 7 年前

    我目前正在处理一个lib包中的一些文件。它需要被多个项目使用,所以我不能将这些文件直接放在我的web服务器中。

    我希望我的Struts2.5 web服务器能够为Lib包中的一些静态文件提供服务。我在考虑使用 web-fragment.xml what I gather from oracle ,只有编译库包并将其放入 META-INF

    如果有一种方法可以通过xml配置做到这一点,那么从我读到的内容来看,这一点还不清楚。如果我能被指向正确的方向,那将很有帮助。

    否则,如果有办法在Eclipse中实现这一点,那也是可以接受的。作为记录,eclipse中的另一个项目将此项目作为我的Java构建路径中的必需项目引用。

    1 回复  |  直到 7 年前
        1
  •  2
  •   Roman C    5 年前

    将静态文件置于Web内容根目录下( / /static Struts还可以从类路径提供静态内容,但这似乎不是您的选择。

    阅读我的答案 Load image in jsp from different URL but same domain :

    Static Content .


    如果在另一个web应用程序中打包和部署静态文件,则可以重用来自其他web应用程序的相同静态文件 .war

    当web archive爆炸时,您可以使用静态文件部署web应用程序,因此您不需要每次部署应用程序时都对其进行打包,如果是不同的应用程序,则不需要重新部署其他应用程序,除非它们受到文件访问路径的影响。

    另一种方法是与Eclipse中的其他项目共享带有静态内容的项目,因为Eclipse将项目文件复制到最终版本 在构建过程中,每个web应用程序都会有自己的共享文件副本。如果要修改某些共享文件,则只需要重新生成/重新部署正在处理的项目。可以根据需要重新生成或重新部署依赖于此项目的其他项目。这似乎是最可靠的解决方案,因为修改某些web应用不会影响其他正在运行的web应用。