2016-08-11 4 views
2

봄을 사용하여 wildfly의 외부에있는 WildFly에서 속성 파일을 읽어야하는데, 봄에 PropertyPlaceholderConfigurer를 사용하여 시도했지만 작동했지만 한 가지 문제가 있습니다.봄을 사용하는 외부 경로의 속성 파일로드

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
    <property name="location"> 
     <value>file:/C:\wildfly-9.0.2.Final\wildfly-9.0.2.Final\standalone\deployments\/propertyLoader.properties</value> 
    </property> 
</bean> 

<bean id="getPropertyBean" 
    class="com.csc.loadProperty.GetProperty"> 
    <property name="prefixProp" value="${prefix}" /> 
    <property name="suffixProp" value="${suffix}" /> 
    <property name="newProp" value="${new}" /> 
</bean> 

applicationContext.xml 여기에 내가 propertyLoader.properties에 대한 절대 경로를 제공하고,하지만 난 경로가 다른 기계와 다를 수 있습니다로 서버에서 상대 경로를 제공해야합니다. 누구든지 나를 도울 수 있습니까?

답변

1

당신이 스프링 (4) 사용하는 경우, 다음

@Configuration 
@PropertySource("file:${app.home}/app.properties") 
public class AppConfig 
@Autowired 
Environment env; 
} 

그런 다음 설정 {} $를 사용하여 등록 정보 파일의 경로를 지정하는 app.home 시작시 시스템 변수로. 일부 컨테이너에서 스프링 애플리케이션을 실행하는 경우 Java 시작 옵션 또는 VM 인수에이 등록 정보를 설정하십시오.

java -jar -Dapp.home="/home/dev/config" example.jar 
0
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
    <property name="location"> 
     <value>file:# C:/wildfly-9.0.2.Final/wildfly-9.0.2.Final/standalone/deployments/propertyLoader.properties</value> 
    </property> 
</bean>