Anar Amrastanov
Anar Amrastanov

Reputation: 385

Update version of org.springframework.boot to 1.3.2

I use org.springframework.boot version 1.2.5.Release and application runs without errors. Now I want change version of org.springframework.boot to 1.3.2. My pom file is

    ...
<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>...

And application runs without errors. But when I change version of org.springframework.boot to 1.3.2

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

I get error

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

What am I doing wrong?

Upvotes: 1

Views: 1782

Answers (1)

hyness
hyness

Reputation: 4915

The Spring Boot api docs indicate ApplicationPidListener was deprecated in favor of ApplicationPidFileWriter in 1.2.0 and apparently removed in Spring Boot 1.3.x. Are you using this class? You only showed us your POM, not your spring configuration.

There is nothing wrong with your POM. Do not make the suggested edits from Praveen. Track down where you are using ApplicationPidListener and change it to use ApplicationPidFileWriter.

Upvotes: 3

Related Questions