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

Java 从Struts2.5 web服务器访问外部项目静态web资源,java,eclipse,struts2,web.xml,Java,Eclipse,Struts2,Web.xml,我目前正在处理的lib包中有一些文件。它需要由多个项目使用,所以我不能将文件直接放在我的web服务器中 我希望我的Struts2.5Web服务器能够为Lib包中的一些静态文件提供服务。我曾考虑使用webfragment.xml解决方案,但从那时起,只有编译库包并将其放在我的META-INF目录中的某个地方,这项工作才会起作用。这很好,但对于任何类型的开发或测试来说都很不方便,因为每次更改html/js时,我都需要创建一个新的构建并将其复制到那里。在我看来,这似乎是错误的解决方案 如果有一种方法可

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

我希望我的Struts2.5Web服务器能够为Lib包中的一些静态文件提供服务。我曾考虑使用
webfragment.xml
解决方案,但从那时起,只有编译库包并将其放在我的
META-INF
目录中的某个地方,这项工作才会起作用。这很好,但对于任何类型的开发或测试来说都很不方便,因为每次更改html/js时,我都需要创建一个新的构建并将其复制到那里。在我看来,这似乎是错误的解决方案

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


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

将静态文件放在Web内容根目录下(
/
)。如果您希望Struts为您的静态内容提供服务,那么将其置于
/static
下。Struts还可以从类路径提供静态内容,但这似乎不是您的选择

请阅读我的答案:

您可以在的文档中阅读有关静态内容加载程序和配置设置的更多信息


如果在另一个
.war
文件中打包和部署静态文件,并指定从应用程序访问这些文件的上下文路径,则可以重用来自其他web应用程序的相同静态文件。可以从同一域或不同域提供服务

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


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

非常感谢这一点,第二种方法听起来像是我要走的路线。我将根据这些建议,看看是否能取得任何进展。