java - Spring OS 依赖映射

标签 java spring-mvc web-applications

我想知道是否有一种方法可以解析可用于 Windows 和 Linux 的映射。这是 mvc.xml 的两个独立行,但我希望它“同时”工作,具体取决于服务器操作系统(如果可能的话)。感谢您抽出时间。

<mvc:resources mapping="/photos/*" location="file:///C:/software/photos/"></mvc:resources> 
<!-- <mvc:resources mapping="/photos/*" location="file:/tmp/photos/"></mvc:resources>-->

最佳答案

您应该能够将属性注入(inject)位置属性,然后使用构建工具来控制使用哪个属性文件。

<mvc:resources mapping="/photos/*" location="${baseContentPath}/photos/"></mvc:resources> 

然后,为每个目标操作系统创建一个属性文件(例如 linux.properties 和 windows.properties),并在每个文件中设置 baseContentPath 的值:

baseContentPath=C:/software

接下来,让您的构建确定目标平台并包含正确的属性文件。 (如果您需要这方面的帮助,我认为这可能应该是一个单独的问题;我们需要大量有关您的项目结构以及您正在使用的构建工具的详细信息。)

另一方面,也许您想要构建一个无论部署在什么平台上都可以运行的单一 WAR?在这种情况下,事情会变得有点复杂,并且在使用基于 XML 的配置时我无法理解。如果您转换为基于注释的配置,这将非常容易(我全心全意地鼓励所有 Spring 用户放弃基于 XML 的配置!)。

关于java - Spring OS 依赖映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58417112/

相关文章:

java - Android 和 SSL 证书加载

java - 实现远程桌面共享解决方案

Grails:创建不想存储在数据库中的类

email - Web应用程序中 token 认证的最佳做法?

iphone - 如果可能的话,如何从网站添加指向 iPhone native 应用程序的链接

java - 安卓人脸检测

java - 如何检测用户是否触摸了我的 Sprite /屏幕?

spring-mvc - 无法在使用 SpringJUnit4ClassRunner 的测试中加载 Spring 应用程序上下文

spring-mvc - @spring.formInput 在#list 迭代器中

spring - SpringMVC中Model和HttpServletRequest的用法有什么区别? HttpServletRequest可以完全替代Model吗?