Java 将Spring boot 1.5迁移到2.x无法启动应用程序

Java 将Spring boot 1.5迁移到2.x无法启动应用程序,java,spring,spring-boot,Java,Spring,Spring Boot,我是Spring boot新手,正在尝试将现有应用程序从1.5迁移到2.0。 我浏览了迁移指南,发现在我的父pom中包含preoperties migrator作为依赖项将指出迁移所需的更改。因此,我在我的pom.xml中添加了以下依赖项 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-properties-migrat

我是Spring boot新手,正在尝试将现有应用程序从1.5迁移到2.0。 我浏览了迁移指南,发现在我的父pom中包含preoperties migrator作为依赖项将指出迁移所需的更改。因此,我在我的pom.xml中添加了以下依赖项

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-properties-migrator</artifactId>
    <version>2.0.4.RELEASE</version>
</dependency>
    <?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>

org.springframework.boot
spring启动属性迁移器
2.0.4.1发布
添加了以下依赖项后,应用程序启动失败,出现以下错误

“消息”:“应用程序启动” 失败,“记录器\u名称”:“org.springframework.boot.SpringApplication”,“线程\u名称”:“main”,“级别”:“ERROR”,“级别\u值”:40000,“堆栈\u跟踪”:“java.lang.NoClassDefFoundError: org/springframework/boot/env/originTrackedApprovertySource\n\tat org.springframework.boot.context.properties.migrator.PropertiesMigrationListener.onApplicationPreparedEvent(PropertiesMigrationListener.java:67)\n\t org.springframework.boot.context.properties.migrator.PropertiesMigrationListener.onApplicationEvent(PropertiesMigrationListener.java:57)\n\t org.springframework.boot.context.properties.migrator.PropertiesMigrationListener.onApplicationEvent(PropertiesMigrationListener.java:44)\n\t org.springframework.context.event.SimpleApplicationEventMulticast.doInvokeListener(SimpleApplicationEventMulticast.java:172)\n\t org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)\n\t org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)\n\t org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:122)\n\t org.springframework.boot.context.event.EventPublishingRunListener.contextLoaded(EventPublishingRunListener.java:91)\n\t org.springframework.boot.SpringApplicationRunListeners.contextLoaded(SpringApplicationRunListeners.java:66)\n\t org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:356)\n\t org.springframework.boot.SpringApplication.run(SpringApplication.java:301)\n\t org.springframework.boot.SpringApplication.run(SpringApplication.java:1118)\n\t org.springframework.boot.SpringApplication.run(SpringApplication.java:1107)\n\t 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)\n使用 收件人:java.lang.ClassNotFoundException: org.springframework.boot.env.originTrackedApprovertySource\n\t java.net.URLClassLoader.findClass(URLClassLoader.java:381)\n\t java.lang.ClassLoader.loadClass(ClassLoader.java:424)\n\t sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)\n\t java.lang.ClassLoader.loadClass(ClassLoader.java:357)\n\t…15常见 忽略帧\n“}

有人能指出什么地方不对吗

pom.xml

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-properties-migrator</artifactId>
    <version>2.0.4.RELEASE</version>
</dependency>
    <?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>

4.0.0
com.move.aws.eai.inventory
极光
1.0.20-快照
com.move.aws.eai.inventory.aurora
大部分
1.0.0-SNAPSHOT
库存和等待列表批量API
com.move.aws.eai.inventory.aurora
常见的
亚马逊网站
aws java sdk sts
亚马逊网站
aws-java-sdk-s3
org.springframework.boot
弹簧靴起动器执行器
org.springframework.boot
弹簧靴启动器hateoas
org.apache.commons
commons-dbcp2
org.togglz
togglz弹簧启动机
org.togglz
托格尔茨控制台
朱尼特
朱尼特
org.mockito
莫基托磁芯
org.powermock
powermock-module-junit4
org.powermock
powermock-api-mockito2
com.github.stefanbirkner
系统规则
org.springframework.boot
弹簧起动试验
org.mybatis.spring.boot
迈巴蒂斯弹簧启动机测试
库存批量
org.springframework.boot
springbootmaven插件
重新包装
构建信息
真的
假的
中心的
企业系统库存管理专家
https://artifactory.moveaws.com/artifactory/EnterpriseSystems-inventory-maven
快照
企业系统库存管理专家
https://artifactory.moveaws.com/artifactory/EnterpriseSystems-inventory-maven
这是一个愚蠢的错误


我将父pom.xml更改为使用最新的Spring启动版本。

我发现您的某些Spring依赖项的版本不兼容。我怀疑您没有使用Spring的BOM,或者您的父级中有一些显式版本。如果我发布我的父级pom.xml,您能指出哪里出了问题吗@BorisThespidera由于错误在
org.springframework.boot.context.properties
中的某个地方,我猜这与您使用Togglz有关。从它看起来像是
2.6.1。引导2.x需要Final
。您使用的版本是否正确?是否可以添加父pom定义?com.move.aws.eai.inventory aurora 1.0.20-SNAPSHOT我无法升级到最新的spring boot,因为我们与不同的微服务共享会话,而这些微服务使用的是spring boot 1.5。9@KrishLakshmanan不确定,但是您的父pom.xml中的更改是否也反映在您的微服务pom中?