升级到 JDK 8 后,maven Surefire 测试失败

Ben*_* Li 5 maven maven-surefire-plugin java-8

我有多模块项目。我所有的测试都是在 JDK 7 下通过的。但是当我升级到 JDK 8 时,maven Surefire 运行了两次(它在 JDK 7 中也运行了两次)。第一次测试通过了,但第二次测试失败了。

我已经尝试升级最新的肯定会成功但没有运气。

有谁知道如何解决这个问题?

父.pom

    <pluginManagement>
        <plugins>
            <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.2</version>
            <configuration>
                <fork>true</fork>
                <source>${source.level}</source>
                <target>${target.level}</target>
                <testSource>${source.level}</testSource>
                <testTarget>${target.level}</testTarget>
                <showWarnings>true</showWarnings>
                <showDeprecation>true</showDeprecation>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.18.1</version>
            <configuration>
                <argLine>-Xms512m -Xmx1024m
                    </argLine>

            </configuration>
        </plugin>
            <!--This plugin's configuration is used to store Eclipse m2e settings 
                only. It has no influence on the Maven build itself. -->
            <plugin>
                <groupId>org.eclipse.m2e</groupId>
                <artifactId>lifecycle-mapping</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <lifecycleMappingMetadata>
                        <pluginExecutions>
                            <pluginExecution>
                                <pluginExecutionFilter>
                                    <groupId>
                                        org.apache.maven.plugins
                                    </groupId>
                                    <artifactId>
                                        maven-antrun-plugin
                                    </artifactId>
                                    <versionRange>
                                        [1.3,)
                                    </versionRange>
                                    <goals>
                                        <goal>run</goal>
                                    </goals>
                                </pluginExecutionFilter>
                                <action>
                                    <ignore></ignore>
                                </action>
                            </pluginExecution>
                        </pluginExecutions>
                    </lifecycleMappingMetadata>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
</build>
Run Code Online (Sandbox Code Playgroud)

模块1

<build>
    <pluginManagement>
        <plugins>
            <!--This plugin's configuration is used to store Eclipse m2e settings 
                only. It has no influence on the Maven build itself. -->
            <plugin>
                <groupId>org.eclipse.m2e</groupId>
                <artifactId>lifecycle-mapping</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <lifecycleMappingMetadata>
                        <pluginExecutions>
                            <pluginExecution>
                                <pluginExecutionFilter>
                                    <groupId>org.apache.maven.plugins</groupId>
                                    <artifactId>maven-antrun-plugin</artifactId>
                                    <versionRange>[1.0,)</versionRange>
                                    <goals>
                                        <goal>run</goal>
                                    </goals>
                                </pluginExecutionFilter>
                                <action>
                                    <execute />
                                </action>
                            </pluginExecution>
                        </pluginExecutions>
                    </lifecycleMappingMetadata>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <version>1.8</version>
            <executions>
                <execution>
                    <id>generate-sources</id>
                    <phase>generate-sources</phase>
                    <configuration>
                        <tasks>
                            <mkdir dir="target/generated-sources" />

                            <exec executable="${protoc.executable}">
                                <arg value="--java_out=target/generated-sources" />
                                <arg value="--proto_path=${basedir}/../messdefn/" />
                                <arg value="${basedir}/../messdefn/messdefn.proto" />
                            </exec>
                        </tasks>
                        <sourceRoot>target/generated-sources</sourceRoot>
                    </configuration>
                    <goals>
                        <goal>run</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <dependencies>
                <dependency>
                    <groupId>org.apache.maven.surefire</groupId>
                    <artifactId>surefire-junit47</artifactId>
                    <version>2.12.3</version>
                </dependency>
            </dependencies>
            <configuration>

                <excludedGroups>com.company.test.IntegrationTest</excludedGroups>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <version>1.9.1</version>
            <executions>
                <execution>
                    <id>add-source</id>
                    <phase>generate-sources</phase>
                    <goals>
                        <goal>add-source</goal>
                    </goals>
                    <configuration>
                        <sources>
                            <source>${project.build.directory}/generated-sources</source>
                        </sources>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
    <testResources>
        <testResource>
            <directory>src/test/resources</directory>
            <includes>
                <include>log4j.xml</include>
                <include>dnp3_devices.ns</include>
                <include>application.properties</include>
                <include>unitils.properties</include>
                <include>dbscripts/*.sql</include>
                <include>applicationContext-test.xml</include>
                <include>ehcache.xml</include>
            </includes>
        </testResource>
        <testResource>
            <directory>src/main/resources</directory>
            <excludes>
                <exclude>log4j.xml</exclude>
            </excludes>
        </testResource>
        <!-- add the data file (*.xml) for unitils -->
        <testResource>
            <directory>${project.basedir}/src/test/java</directory>
            <excludes>
                <exclude>**/*.java</exclude>
            </excludes>
        </testResource>
    </testResources>
</build>

<profiles>
    <profile>
        <id>jenkins</id>
        <activation>
            <property>
                <name>env.IS_CI_BUILD</name>
            </property>
        </activation>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>cobertura-maven-plugin</artifactId>
                    <version>2.5.2</version>
                    <configuration>
                        <instrumentation>
                            <ignores>
                                <ignore>com.company.protobuf.message.*</ignore>
                            </ignores>
                            <excludes>
                                <exclude>com/company/protobuf/message/**/*.class</exclude>
                            </excludes>
                        </instrumentation>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <configuration>

                        <includes>
                            <include>**/*Test.java</include>
                            <include>**/*ITCase.java</include>
                        </includes>
                        <excludedGroups>com.company.core.IgnoreITCase</excludedGroups>
                        <systemProperties>
                            <DB_BUILD_USER>${env.DB_BUILD_USER}</DB_BUILD_USER>
                            <TWO_TASK>${env.TWO_TASK}</TWO_TASK>
                        </systemProperties>
                    </configuration>
                    <executions>
                        <execution>
                            <id>integration-test</id>
                            <phase>integration-test</phase>
                            <goals>
                                <goal>test</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    </profile>
</profiles>
Run Code Online (Sandbox Code Playgroud)

这是 Maven 结果

[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO] 
[INFO] top-level Maven project
[INFO] core Java library
[INFO] web application (presentation)

[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building NS top-level Maven project 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ parent ---
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building NS core Java library 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ ns-core ---
[INFO] Deleting /home/bli/ns/tun-0018-New/BASE_STATION/java/target
[INFO] 
[INFO] --- maven-antrun-plugin:1.8:run (generate-sources) @ ns-core ---
[INFO] Executing tasks

main:
    [mkdir] Created dir: /home/bli/ns/tun-0018-New/BASE_STATION/java/target/generated-sources
[INFO] Executed tasks
[INFO] Registering compile source root /home/bli/ns/tun-0018-New/BASE_STATION/java/target/generated-sources
[INFO] 
[INFO] --- build-helper-maven-plugin:1.9.1:add-source (add-source) @ ns-core ---
[INFO] Source directory: /home/bli/ns/tun-0018-New/BASE_STATION/java/target/generated-sources added.
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ ns-core ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 5 resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.2:compile (default-compile) @ ns-core ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 335 source files to /home/bli/ns/tun-0018-New/BASE_STATION/java/target/classes
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ ns-core ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 5 resources
[INFO] Copying 5 resources
[INFO] Copying 2 resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.2:testCompile (default-testCompile) @ ns-core ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 43 source files to /home/bli/ns/tun-0018-New/BASE_STATION/java/target/test-classes
[INFO] 
[INFO] --- maven-surefire-plugin:2.18.1:test (default-test) @ ns-core ---
[INFO] Surefire report directory: /home/bli/ns/tun-0018-New/BASE_STATION/java/target/surefire-reports
[INFO] Using configured provider org.apache.maven.surefire.junitcore.JUnitCoreProvider
[INFO] parallel='none', perCoreThreadCount=true, threadCount=0, useUnlimitedThreads=false, threadCountSuites=0, threadCountClasses=0, threadCountMethods=0, parallelOptimized=true

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running com.company.core.shared.dto.MeterReadingPpDtoTest
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in com.company.core.shared.dto.MeterReadingPpDtoTest
Running com.company.core.shared.db.DbUtilsTest
Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in com.company.core.shared.db.DbUtilsTest
Running com.company.core.shared.SinglePhaseMeterReadingDtoTest
Tests run: 13, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.083 sec - in com.company.core.shared.SinglePhaseMeterReadingDtoTest
Running com.company.core.shared.utils.EnvironmentTest
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in com.company.core.shared.utils.EnvironmentTest
Running com.company.core.shared.utils.DateUtilsTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.007 sec - in com.company.core.shared.utils.DateUtilsTest
Running com.company.core.shared.utils.NsPropertyFileTest
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec - in com.company.core.shared.utils.NsPropertyFileTest
Running com.company.core.shared.utils.ConversionsTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 sec - in com.company.core.shared.utils.ConversionsTest
Running com.company.core.shared.utils.NsConfigurationTest
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.006 sec - in com.company.core.shared.utils.NsConfigurationTest
Running com.company.core.springutil.tunPropertyPlaceholderConfigurerTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.258 sec - in com.company.core.springutil.tunPropertyPlaceholderConfigurerTest
Running com.company.core.springutil.tunApplicationContextTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.013 sec - in com.company.core.springutil.tunApplicationContextTest
Running com.company.core.springutil.ApplicationContextProviderTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.034 sec - in com.company.core.springutil.ApplicationContextProviderTest
Running com.company.core.common.dao.NetworkDeviceDaoTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.221 sec - in com.company.core.common.dao.NetworkDeviceDaoTest
Running com.company.core.common.dao.dto.CategorySelectListEntryDtoTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 sec - in com.company.core.common.dao.dto.CategorySelectListEntryDtoTest
Running com.company.core.common.dao.model.ErtDeviceTest
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.009 sec - in com.company.core.common.dao.model.ErtDeviceTest
Running com.company.core.common.dao.model.MeterDeviceTest
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.007 sec - in com.company.core.common.dao.model.MeterDeviceTest
Running com.company.core.common.dao.model.ErtReadingTest
Tests run: 14, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.018 sec - in com.company.core.common.dao.model.ErtReadingTest
Running com.company.core.common.dao.model.ProductTest
Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.027 sec - in com.company.core.common.dao.model.ProductTest
Running com.company.core.common.dao.impl.jdbc.SystemCodeDaoJdbcTest
Tests run: 21, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.323 sec - in com.company.core.common.dao.impl.jdbc.SystemCodeDaoJdbcTest
Running com.company.core.common.hibernate.type.UtcTimestampTypeTest
Tests run: 18, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.019 sec - in com.company.core.common.hibernate.type.UtcTimestampTypeTest
Running com.company.core.common.service.impl.NetworkUserServiceImplTest
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec - in com.company.core.common.service.impl.NetworkUserServiceImplTest
Running com.company.core.common.model.StatusInfoTest
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in com.company.core.common.model.StatusInfoTest
Running com.company.core.common.UtilsTest
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec - in com.company.core.common.UtilsTest
Running com.company.core.meter.configuration.service.impl.ErtDeviceConfigurationServiceImplTest
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.028 sec - in com.company.core.meter.configuration.service.impl.ErtDeviceConfigurationServiceImplTest
Running com.company.core.meter.configuration.service.impl.MeterConfigurationServiceImplTest
Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.029 sec - in com.company.core.meter.configuration.service.impl.MeterConfigurationServiceImplTest
Running com.company.core.meter.reading.dao.tunMeterReadingDaoTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.01 sec - in com.company.core.meter.reading.dao.tunMeterReadingDaoTest
Running com.company.core.meter.reading.dao.hibernate.InitiateReadingDaoHibernateTest
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.396 sec - in com.company.core.meter.reading.dao.hibernate.InitiateReadingDaoHibernateTest
Running com.company.core.meter.reading.dao.jdbc.DeviceReadingDaoJdbcTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: