spring boot maven插件停止目标

时间:2017-08-30 12:34:33

标签: spring maven spring-boot

Spring启动maven插件停止目标无法停止应用程序并使应用程序进程挂起(我无法使用同一端口启动另一个进程)。 这是我的插件配置:

        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <version>1.5.6.RELEASE</version>
            <configuration>
                <jvmArguments>-DCONFIG_ENVIRONMENT=functionaltest</jvmArguments>
                <mainClass>...</mainClass>
                <fork>true</fork>
            </configuration>
            <executions>
                <execution>
                    <id>start-service</id>
                    <phase>pre-integration-test</phase>
                    <goals>
                        <goal>start</goal>
                    </goals>
                </execution>
                <execution>
                    <id>stop-service</id>
                    <phase>post-integration-test</phase>
                    <goals>
                        <goal>stop</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

我无法找到导致此行为的错误的任何引用。我是否以某种方式使用插件而不是意图使用?

2 个答案:

答案 0 :(得分:1)

将配置更改为此,如果要使用远程调试取消注释 在maven run中启动app: spring-boot:stop clean spring-boot:start

<plugin>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-maven-plugin</artifactId>
                        <configuration>
                             <executable>true</executable>
                            <fork>true</fork>
                            <addResources>true</addResources>
                            <!-- <jvmArguments> -->
                            <!-- -agentlib:jdwp=transport=dt_socket,address=localhost:5005,server=y,suspend=n -->
                            <!-- </jvmArguments> -->
                        </configuration>

                    </plugin>

答案 1 :(得分:1)

我发现了问题:spring boot应用程序(在其主线程中)启动一个新线程,阻止jvm关闭。改变孩子&#34;作为守护程序线程的线程解决了这个问题。

有问题的代码

META-INF/jsonFolder/file.json

解决问题的代码

UPDATE ip_test SET ipv6 = INET6_ATON(INET_NTOA(ipv4));

查看enter image description here以获取有关Java中守护程序thrreads的更多详细信息。