2016-02-12 264 views
1

我使用org.springframework.boot版本1.2.5。發佈和應用程序運行時沒有錯誤。現在我想將org.springframework.boot的更改版本改爲1.3.2。 我的POM文件是將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

Spring Boot api文檔指出ApplicationPidListener在1.2.0中已被棄用,支持ApplicationPidFileWriter,並明顯在Spring Boot 1.3.x中刪除。你在使用這個課程嗎?你只向我們展示了你的POM,而不是你的彈簧配置。

你的POM沒有問題。不要從Praveen進行建議編輯。跟蹤您使用ApplicationPidListener的位置並將其更改爲使用ApplicationPidFileWriter。

+0

謝謝!我在'spring.factories'文件中使用了'ApplicationPidListener'。將其更改爲「ApplicationPidFileWriter」有所幫助 –