Мне нужно продолжить проект кого-то другого, но я, когда запускаю весеннее приложение на Intellij, сталкиваюсь с ошибкой. Я новичок весной и Maven.
У меня есть application.properties в папке ресурсов, нет файла xml для настройки.
Вот часть сборки pom.xml :
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/*.properties</include>
</includes>
</resource>
</resources>
<!--
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
-->
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!--
<configuration>
<mainClass>kobdig.SimulationApplication</mainClass>
</configuration>
-->
</plugin>
</plugins>
</build>
</code>
SimulationApplication.java :
@SpringBootApplication
public class SimulationApplication {
public static void main(String[] args){
SpringApplication.run(SimulationApplication.class, args);
}
}
SenderConfig.java :
@Configuration
@PropertySource(ignoreResourceNotFound = true, value = "file:application.properties")
public class SenderConfig {
@Value("${kafka.bootstrap-servers}")
private String bootstrapServers;
@Bean
public Map<String, Object> producerConfigs() {
Map<String, Object> props = new HashMap<>();
// list of host:port pairs used for establishing the initial connections to the Kakfa cluster
props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG,
bootstrapServers);
props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG,
StringSerializer.class);
props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG,
StringSerializer.class);
return props;
}
application.properties :
server.port=9090
kafka.bootstrap-servers = localhost:2020
и Sender.java :
public class Sender {
private static final Logger LOGGER =
LoggerFactory.getLogger(Sender.class);
@Autowired
private KafkaTemplate<String, String> kafkaTemplate;
public void send(String topic, String payload) {
LOGGER.info("sending payload='{}' to topic='{}'", payload, topic);
kafkaTemplate.send(topic, payload);
}
}
Я сталкиваюсь с этой ошибкой:
вложенным исключением является java.lang.IllegalArgumentException: не удалось
разрешить местозаполнитель 'kafka.bootstrap-servers' в строковом значении
"$ {kafka.bootstrap-сервера}"
Уже много раз пробовал, видел много похожих тем в stackOverflow, но не могу найти проблему.
@PropertySource не помог.
Можете ли вы помочь мне, пожалуйста?