Reputation: 874
I'm new to Spring boot and trying to migrate an existing application from 1.5 to 2.0. I went through the migration guide and found out that including the preoperties-migrator as dependency in my parent pom will point out the changes to be done in order to migrate.Hence i added the below dependency in my pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-properties-migrator</artifactId>
<version>2.0.4.RELEASE</version>
</dependency>
Once i added the below dependency, app startup failed with below error.
"message":"Application startup failed","logger_name":"org.springframework.boot.SpringApplication","thread_name":"main","level":"ERROR","level_value":40000,"stack_trace":"java.lang.NoClassDefFoundError: org/springframework/boot/env/OriginTrackedMapPropertySource\n\tat org.springframework.boot.context.properties.migrator.PropertiesMigrationListener.onApplicationPreparedEvent(PropertiesMigrationListener.java:67)\n\tat org.springframework.boot.context.properties.migrator.PropertiesMigrationListener.onApplicationEvent(PropertiesMigrationListener.java:57)\n\tat org.springframework.boot.context.properties.migrator.PropertiesMigrationListener.onApplicationEvent(PropertiesMigrationListener.java:44)\n\tat org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)\n\tat org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)\n\tat org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)\n\tat org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:122)\n\tat org.springframework.boot.context.event.EventPublishingRunListener.contextLoaded(EventPublishingRunListener.java:91)\n\tat org.springframework.boot.SpringApplicationRunListeners.contextLoaded(SpringApplicationRunListeners.java:66)\n\tat org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:356)\n\tat org.springframework.boot.SpringApplication.run(SpringApplication.java:301)\n\tat org.springframework.boot.SpringApplication.run(SpringApplication.java:1118)\n\tat org.springframework.boot.SpringApplication.run(SpringApplication.java:1107)\n\tat com.move.aws.eai.inventory.common.app.BaseApplication.run(BaseApplication.java:140)\n\tat com.move.aws.eai.inventory.bulk.Application.main(Application.java:10)\nCaused by: java.lang.ClassNotFoundException: org.springframework.boot.env.OriginTrackedMapPropertySource\n\tat java.net.URLClassLoader.findClass(URLClassLoader.java:381)\n\tat java.lang.ClassLoader.loadClass(ClassLoader.java:424)\n\tat sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)\n\tat java.lang.ClassLoader.loadClass(ClassLoader.java:357)\n\t... 15 common frames omitted\n"}
Can anybody point out whats wrong.
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.move.aws.eai.inventory</groupId>
<artifactId>aurora</artifactId>
<version>1.0.20-SNAPSHOT</version>
</parent>
<groupId>com.move.aws.eai.inventory.aurora</groupId>
<artifactId>bulk</artifactId>
<version>1.0.0-SNAPSHOT</version>
<name>Inventory and Waitlist Bulk API</name>
<dependencies>
<dependency>
<groupId>com.move.aws.eai.inventory.aurora</groupId>
<artifactId>common</artifactId>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-sts</artifactId>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-s3</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-hateoas</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-dbcp2</artifactId>
</dependency>
<!-- Features toggling -->
<dependency>
<groupId>org.togglz</groupId>
<artifactId>togglz-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.togglz</groupId>
<artifactId>togglz-console</artifactId>
</dependency>
<!-- Testing -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito2</artifactId>
</dependency>
<dependency>
<groupId>com.github.stefanbirkner</groupId>
<artifactId>system-rules</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter-test</artifactId>
</dependency>
</dependencies>
<build>
<finalName>inventory-bulk</finalName>
<plugins>
<plugin>
<!-- Package as an executable jar -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
<goal>build-info</goal>
</goals>
</execution>
</executions>
<configuration>
<executable>true</executable>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<name>EnterpriseSystems-inventory-maven</name>
<url>https://artifactory.moveaws.com/artifactory/EnterpriseSystems-inventory-maven</url>
</repository>
<repository>
<snapshots />
<id>snapshots</id>
<name>EnterpriseSystems-inventory-maven</name>
<url>https://artifactory.moveaws.com/artifactory/EnterpriseSystems-inventory-maven</url>
</repository>
</repositories>
</project>
Upvotes: 1
Views: 3201
Reputation: 874
It was a silly error.
I changed the parent pom.xml to use the latest Spring boot version.
Upvotes: 2