最近在搞web應用配置分離,將項目有關的配置分離到項目外面,然后通過路徑讀取該配置文件。發布到服務器上其實容易實現,因為linux文件的路徑直接在web應用中輸入就行了。但是之前我需要現在windows本地部署測試,也就是說需要將配置文件放到windows目錄下面。
先看我代碼中讀取配置文件的地方。
public static final String APPLICATION_FILE_PATH =F:/WorkSpace/pufa/couple/appconfig/application.properties"; public static final String INTERFACEPARAM_FILE_PATH = "F:/WorkSpace/pufa/couple/appconfig/application.properties";
注意linux的路徑符號和Window的路徑符號是不同的,windows系統中文件路徑用的是反斜杠“\”,而linux或unix系統中文件路徑用的正斜杠即”/“。
但是java代碼中路徑直接寫“\”的話,會報錯。因為第一個斜杠會當做轉意字符處理了,所以得用“\\”雙斜杠代替,但是實際測試發現,當使用linux的路徑分隔符號‘/’也是能成功的,java識別到對應的路徑。所以在java中寫windows路徑一般用"/"或將"\"轉義一下,就成了"\\"。
然后是spring和log4j的配置文件。
log的配置文件:
<property file="F:/WorkSpace/pufa/couple/appconfig/application.properties"></property>
這邊直接用window的路徑就行了,注意仍然用的反斜杠“/”。
然后是spring的路徑配置:
<property name="location" value="file:F:/WorkSpace/pufa/couple/appconfig/application.properties" />
注意spring路徑配置,需要在前面加上file:,然后其它路徑配置和上面是一樣的。
但是我在配置文件中嘗試用“\”替換掉"/"也是能夠順利部署成功的。
綜上所述,在本地Winds部署中,如果在java代碼中配置路徑的話,只能用“/”
或者使用“\\”,其它配置文件"/"或者"\"都可以。