Adding a directory to tomcat classpath and read the property file in spring

后端 未结 3 356
梦毁少年i
梦毁少年i 2021-02-03 23:29

I am trying to read the test1.properties file which is located at an external folder.

here is my spring config file:



        
相关标签:
3条回答
  • 2021-02-04 00:23

    Use setenv.sh in the bin directory. If the file doesn't exist, create it. To add something to the classpath use the following syntax:

    CLASSPATH=/yourdir/
    

    For windows: setenv.bat

    Solution: creating the setenv.bat file under tomcat bin folder helped me in WINDOWS.

    0 讨论(0)
  • 2021-02-04 00:24

    Ok.. finally fixed it.. I had been doing it correctly this whole time.. it was my IDE which caused the problem. The IDE was not picking up the changes in the catalina.properties file. I had to delete the server config in my IDE and re configure it.

    these links were helpful in general:

    Adding a directory to tomcat classpath

    http://www.mulesoft.com/tomcat-classpath#solutions

    0 讨论(0)
  • 2021-02-04 00:26

    If your intention to keep file outside the war or ear , so that you can update it without compling and creating war again. just editing the file and restarting the server. Keep it in any external folder , even outside server and give absolute path in spring.

    <bean id="propertyConfigurer3" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="ignoreUnresolvablePlaceholders" value="true"/>
    <property name="locations">
        <list>
            <value>classpath:test.properties</value>
            <value>**file:/someexteranal/dir/test1.properties**</value>
        </list>
    </property>
    

    Best thing , you can give this / path with root in Unix/linux and same will work in windows, just need to keep file in directory where your server is installed. Like your tomcat in D drive , then keep it in D:\someexternal\dir and above code will work fine there too

    0 讨论(0)
提交回复
热议问题