Spring boot 更新到spring boot 2.2.1后,应用程序部署失败

Spring boot 更新到spring boot 2.2.1后,应用程序部署失败,spring-boot,Spring Boot,我使用spring boot2.0和h2内存数据库创建了一个spring boot应用程序,该应用程序正在成功运行。在我将其更新为spring boot 2.2.1.RELEASE后,部署失败 以下是主要课程: @SpringBootApplication(exclude = { SecurityAutoConfiguration.class }) public class SampleServicesApplication extends SpringBootServletInitialize

我使用spring boot2.0和h2内存数据库创建了一个spring boot应用程序,该应用程序正在成功运行。在我将其更新为spring boot 2.2.1.RELEASE后,部署失败

以下是主要课程:

@SpringBootApplication(exclude = { SecurityAutoConfiguration.class })
public class SampleServicesApplication extends SpringBootServletInitializer implements CommandLineRunner
{
    @Autowired
    private UserPartnerSource userSource;

    @Autowired
    UserPartnerDao userPartnerDao;

    private static final Logger logger = LoggerFactory.getLogger(SampleServicesApplication.class);

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application)
    {
        return application.sources(SampleServicesApplication.class)
    }

    public static void main(String[] args)
    {
        SpringApplication.run(SampleServicesApplication.class, args);
    }

    @Override
    public void run(String... args) throws Exception
    {    
        List<UserPartner> userPartner = userSource.getUsers();
        userPartnerDao.saveAll(userPartner);

    }
}

public interface UserPartnerDao extends JpaRepository<UserPartner, Long> {

    @Query("select u from UserPartner u  where u.userAccessToken =?1")
    UserPartner findByToken(String accessToken);

    @Query("select u.userAccessSecret from UserPartner u  where u.userAccessToken =?1")
    String getUserAccessSecret(String accessToken);

}
@springbootplication(排除={SecurityAutoConfiguration.class})
公共类SampleServicesApplication扩展SpringBootServletInitializer实现CommandLineRunner
{
@自动连线
私有用户partnersource用户源;
@自动连线
UserPartnerDao UserPartnerDao;
私有静态最终记录器Logger=LoggerFactory.getLogger(SampleServicesApplication.class);
@凌驾
受保护的SpringApplicationBuilder配置(SpringApplicationBuilder应用程序)
{
返回application.sources(SampleServicesApplication.class)
}
公共静态void main(字符串[]args)
{
run(SampleServicesApplication.class,args);
}
@凌驾
公共无效运行(字符串…参数)引发异常
{    
List userPartner=userSource.getUsers();
userPartnerDao.saveAll(userPartner);
}
}
公共接口UserPartnerDao扩展了JpaRepository{
@查询(“从UserPartner u中选择u,其中u.userAccessToken=?1”)
UserPartner findByToken(字符串accessToken);
@查询(“从UserPartner u中选择u.userAccessSecret,其中u.userAccessToken=?1”)
字符串getUserAccessSecret(字符串accessToken);
}
以下是我在pom.xml中使用的依赖项

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.1.RELEASE</version>
        <relativePath /> <!-- lookup parent from repository -->
 </parent>
<dependencies>
    <dependency>
                <groupId>de.codecentric</groupId>
                <artifactId>spring-boot-admin-starter-client</artifactId>
                <version>2.2.0</version>
            </dependency>

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency> 

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-thymeleaf</artifactId>
            </dependency>

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-jpa</artifactId>
            </dependency>

            <dependency>
                 <groupId>com.h2database</groupId>
                 <artifactId>h2</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-test</artifactId>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-configuration-processor</artifactId>
                <optional>true</optional>
            </dependency>
      </depedencies>

org.springframework.boot
spring启动程序父级
2.2.1.发布
共中心
spring启动管理启动客户端
2.2.0
org.springframework.boot
SpringBootStarterWeb
org.springframework.boot
弹簧启动装置
org.springframework.boot
spring引导启动器数据jpa
com.h2数据库
氢
依赖性>
org.springframework.boot
弹簧靴起动器执行器
org.springframework.boot
弹簧起动试验
测试
org.springframework.boot
spring引导配置处理器
真的
一旦我从2.0.8更新到2.2.1,在运行应用程序时会出现以下错误。 我尝试了不同的方法,但都不管用。非常感谢您的建议

 Caused by: java.lang.NoClassDefFoundError: org/springframework/orm/jpa/support/PersistenceAnnotationBeanPostProcessor
     at java.lang.Thread.run(Thread.java:748)
    at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:53)
     at java.lang.reflect.Method.invoke(Method.java:498)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     java.lang.reflect.InvocationTargetException
     at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:706)
     at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:95)
     at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:275)
     at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:242)
     at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:337)
     at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:120)
     at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:148)
     at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsFromRegistrars(ConfigurationClassBeanDefinitionReader.java:384)
     at java.util.LinkedHashMap.forEach(LinkedHashMap.java:684)
    at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.lambda$loadBeanDefinitionsFromRegistrars$1(ConfigurationClassBeanDefinitionReader.java:385)
     at org.springframework.boot.autoconfigure.data.AbstractRepositoryConfigurationSourceSupport.registerBeanDefinitions(AbstractRepositoryConfigurationSourceSupport.java:62)
     at org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesRegistrar.getRepositoryConfigurationExtension(JpaRepositoriesRegistrar.java:54)
     at org.springframework.data.jpa.repository.config.JpaRepositoryConfigExtension.<clinit>(JpaRepositoryConfigExtension.java:76)
     at java.security.AccessController.doPrivileged(Native Method)
     at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
     at java.net.URLClassLoader$1.run(URLClassLoader.java:371)
     Caused by: java.lang.ClassNotFoundException: org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor
     ... 6 more
     at com.garmin.gh.apps.wellnessmonitor.GcsWellnessServicesApplication.main(SampleServicesApplication.java:43)
     at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)
     at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
     at org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
     at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
     at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747)
     at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:532)
     ... 34 more
     at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
     at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
     at java.net.URLClassLoader.defineClass(URLClassLoader.java:463)
     at sun.misc.Resource.getBytes(Resource.java:124)
     at org.springframework.boot.loader.jar.ZipInflaterInputStream.read(ZipInflaterInputStream.java:52)
     at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:164)
     Caused by: java.util.zip.ZipException: invalid code lengths set
     ... 27 more
     at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
     at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:136)
    at org.springframework.boot.loader.LaunchedURLClassLoader.doLoadClass(LaunchedURLClassLoader.java:170)
     at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
     at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
     Exit status 1
原因:java.lang.NoClassDefFoundError:org/springframework/orm/jpa/support/PersistenceAnnotationBeanPostProcessor
运行(Thread.java:748)
位于org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:53)
位于java.lang.reflect.Method.invoke(Method.java:498)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
java.lang.reflect.InvocationTargetException
位于org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:706)
位于org.springframework.context.support.postprocessorregistrationlegate.invokeBeanFactoryPostProcessors(postprocessorregistrationlegate.java:95)
位于org.springframework.context.support.postprocessorregistrationlegate.invokeBeanDefinitionRegistryPostProcessors(postprocessorregistrationlegate.java:275)
位于org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:242)
位于org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:337)
位于org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:120)
位于org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:148)
位于org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.LoadBeanDefinitionsFromRegisters(ConfigurationClassBeanDefinitionReader.java:384)
位于java.util.LinkedHashMap.forEach(LinkedHashMap.java:684)
位于org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.lambda$LoadBeanDefinitionsFromRegisters$1(ConfigurationClassBeanDefinitionReader.java:385)
位于org.springframework.boot.autoconfigure.data.AbstractRepositoryConfigurationSourceSupport.registerBeanDefinitions(AbstractRepositoryConfigurationSourceSupport.java:62)
位于org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesRegistrar.getRepositoryConfigurationExtension(JpaRepositoriesRegistrar.java:54)
位于org.springframework.data.jpa.repository.config.JpaRepositoryConfigExtension。(JpaRepositoryConfigExtension.java:76)
位于java.security.AccessController.doPrivileged(本机方法)
在java.net.URLClassLoader$1.run(URLClassLoader.java:363)
在java.net.URLClassLoader$1.run(URLClassLoader.java:371)
原因:java.lang.ClassNotFoundException:org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor
... 还有6个
在com.garmin.gh.apps.wellnessmonitor.gcsweelnessservicesapplication.main(SampleServicesApplication.java:43)
位于org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)
位于org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
位于org.springframework.boot.springapplication
java.util.zip.ZipException: invalid code lengths set