2016-02-12 3 views
1

Я использую версию org.springframework.boot 1.2.5.Release и приложение запускается без ошибок. Теперь я хочу изменить версию org.springframework.boot до 1.3.2. Моего файл ПОбновить версию org.springframework.boot до 1.3.2

... 
<parent> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>1.2.5.RELEASE</version> 
    <relativePath/> 
</parent> 

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
    <java.version>1.8</java.version> 
    <docker.image.prefix>springio</docker.image.prefix> 
</properties> 

<dependencies> 

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

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

    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-web</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-starter-actuator</artifactId>      
    </dependency> 

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

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

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



    <dependency> 
     <groupId>com.google.guava</groupId> 
     <artifactId>guava</artifactId> 
     <version>18.0</version> 
    </dependency>  

    <dependency> 
     <groupId>com.jayway.jsonpath</groupId> 
     <artifactId>json-path</artifactId> 
     <version>2.1.0</version> 
     <scope>test</scope> 
    </dependency>  

    <dependency> 
     <groupId>commons-io</groupId> 
     <artifactId>commons-io</artifactId> 
     <version>2.1</version> 
    </dependency> 

    <dependency> 
     <groupId>net.sf.opencsv</groupId> 
     <artifactId>opencsv</artifactId> 
     <version>2.3</version> 
    </dependency> 

</dependencies> 

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.5</version> 
      <configuration> 
       <source>1.8</source> 
       <target>1.8</target> 
      </configuration> 
     </plugin>   
     <plugin> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-maven-plugin</artifactId>   
     </plugin> 

     <plugin> 
      <groupId>com.github.trecloux</groupId> 
      <artifactId>yeoman-maven-plugin</artifactId> 
      <version>0.4</version> 
      <executions> 
       <execution> 
        <phase>generate-resources</phase> 
        <goals> 
         <goal>build</goal> 
        </goals> 
        <configuration> 
         <bowerInstallArgs>install --no-color</bowerInstallArgs> 
         <buildArgs>build --force --no-color</buildArgs> 
         <!--<skipTests>true</skipTests>--> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 

     <plugin> 
      <groupId>com.spotify</groupId> 
      <artifactId>docker-maven-plugin</artifactId> 
      <version>0.2.11</version> 
      <configuration> 
       <imageName>${docker.image.prefix}/${project.artifactId}</imageName> 
       <dockerDirectory>src/main/docker</dockerDirectory> 
       <resources> 
        <resource> 
         <targetPath>/</targetPath> 
         <directory>${project.build.directory}</directory> 
         <include>${project.build.finalName}.jar</include> 
        </resource> 
       </resources> 
      </configuration> 
     </plugin>   

     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <version>2.19</version><!--$NO-MVN-MAN-VER$--> 
      <configuration> 
       <includes> 
        <include>%regex[.*Test.*]</include> 
       </includes> 
      </configuration> 
     </plugin>   

    </plugins> 
</build>... 

И приложение работает без ошибок. Но когда я изменить версию org.springframework.boot на 1.3.2

... 
<parent> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>1.3.2.RELEASE</version> 
    <relativePath/> 
</parent> 
... 

Я получаю ошибку

Caused by: java.lang.ClassNotFoundException: org.springframework.boot.actuate.system.ApplicationPidListener 
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_51] 
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_51] 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) ~[na:1.8.0_51] 
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_51] 
at org.springframework.util.ClassUtils.forName(ClassUtils.java:250) ~[spring-core-4.2.4.RELEASE.jar:4.2.4.RELEASE] 
at org.springframework.boot.SpringApplication.createSpringFactoriesInstances(SpringApplication.java:407) ~[spring-boot-1.3.2.RELEASE.jar:1.3.2.RELEASE] 
... 34 common frames omitted 

Что я делаю неправильно?

+0

Вы очистили целевой каталог ('mvn clean')? – jny

+0

Да. Я называю 'mvn clean', затем' mvn install'. При попытке запустить тесты появляется сообщение об ошибке 'mvn install'. –

ответ

2

Весенняя загрузка api docs указывает, что ApplicationPidListener был устарел в пользу ApplicationPidFileWriter в 1.2.0 и, по-видимому, удален в Spring Boot 1.3.x. Вы используете этот класс? Вы только показали нам свой POM, а не вашу конфигурацию пружины.

С вашим POM ничего страшного. Не делайте предлагаемые изменения от Правэна. Отслеживайте, где вы используете ApplicationPidListener, и измените его на использование ApplicationPidFileWriter.

+0

Спасибо! Я использовал 'ApplicationPidListener' в файле' spring.factories'. Изменение его на 'ApplicationPidFileWriter' помогло –

Смежные вопросы