Я довольно новичок в весне, поэтому извините меня, если это глупый вопрос. Когда я пытаюсь запустить программу, я получаю следующую ошибку: 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}"
или я что-то пропустил?
Вы можете ссылаться на PropertySource, используя путь к классам: http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/context/annotation/PropertySource.html –
Я действительно пытался запустить эту программу, назовите ее «B» в другой программе с именем «A». По-видимому, когда вы выполняете программу B индивидуально, она получает значение '$ {appclient}' как аргумент программы; однако этого не произошло, когда я пытаюсь запустить B из A и вызвал ошибку, которую я получал. – Brkk