मैं बसंत के लिए काफी नया हूं इसलिए मुझे यह बेवकूफ सवाल है कि यह एक बेवकूफ सवाल है। जब मैं एक प्रोग्राम लॉन्च करने का प्रयास करता हूं तो मुझे निम्न त्रुटि मिलती है: java.lang.IllegalArgumentException: Could not resolve placeholder 'appclient' in string value [${appclient}]
। जब निम्न कोड निष्पादित त्रुटि फेंक दिया जाता है:वसंत प्लेसहोल्डर को हल नहीं कर सका
package ca.virology.lib2.common.config.spring.properties;
import ca.virology.lib2.config.spring.PropertiesConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.context.annotation.PropertySource;
@Configuration
@Import({PropertiesConfig.class})
@PropertySource("${appclient}")
public class AppClientProperties {
private static final Logger log = LoggerFactory.getLogger(AppClientProperties.class);
{
//this initializer block will execute when an instance of this class is created by Spring
log.info("Loading AppClientProperties");
}
@Value("${appclient.port:}")
private int appClientPort;
@Value("${appclient.host:}")
private String appClientHost;
public int getAppClientPort() {
return appClientPort;
}
public String getAppClientHost() {
return appClientHost;
}
}
एक संपत्ति फ़ाइल कहा जाता appclient.properties
मेजबान और बंदरगाह के लिए जानकारी के साथ संसाधन फ़ोल्डर में मौजूद है। मुझे यकीन नहीं है कि "${appclient}"
परिभाषित किया गया है, अगर यह बिल्कुल है। शायद यह भी परिभाषित नहीं किया गया है और यह समस्या पैदा कर रहा है। क्या मुझे "${appclient}"
को "{classpath:/appclient.properties}"
जैसी चीज़ों में बदलने की ज़रूरत है या क्या मुझे कुछ और याद आ रहा है?
तुम्हें यकीन classpath का उपयोग कर PropertySource संदर्भ सकता है: http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/context/annotation/PropertySource.html –
मैं वास्तव में चलाने के लिए कोशिश कर रहा था इस कार्यक्रम, इसे 'ए' नामक एक अलग कार्यक्रम के भीतर 'बी' नाम दें। जाहिर है जब आप प्रोग्राम बी को व्यक्तिगत रूप से निष्पादित करते हैं, तो इसे प्रोग्राम तर्क के रूप में '$ {appclient}' मान मिलता है; हालांकि, ऐसा तब नहीं हुआ जब मैं ए से बी चलाने की कोशिश करता था और मुझे जो त्रुटि मिली थी। – Brkk