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

maven surefire test failed after upgrade to JDK 8

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

我试过升级最新的 sure-fire 但没有成功。

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

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

模块 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>

这是 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: 0.112 sec - in com.company.core.meter.reading.dao.jdbc.DeviceReadingDaoJdbcTest
Running com.company.core.meter.request.impl.InitiateReadingServiceImplTest
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.009 sec - in com.company.core.meter.request.impl.InitiateReadingServiceImplTest
Running com.company.core.vrapp.model.Dnp3ConfigurationTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in com.company.core.vrapp.model.Dnp3ConfigurationTest
Running com.company.core.vrapp.model.AverageDemandTest
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 sec - in com.company.core.vrapp.model.AverageDemandTest
Running com.company.core.vrapp.model.VrDeviceTest
Tests run: 21, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.116 sec - in com.company.core.vrapp.model.VrDeviceTest
Running com.company.core.messaging.rmq.impl.ReflectionTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 sec - in com.company.core.messaging.rmq.impl.ReflectionTest
Running com.company.core.messaging.rmq.impl.RmqBrokerConfigTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 sec - in com.company.core.messaging.rmq.impl.RmqBrokerConfigTest
Running com.company.core.messaging.rmq.impl.UtilsTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 sec - in com.company.core.messaging.rmq.impl.UtilsTest
Running com.company.core.messaging.rmq.impl.RmqQueueReaderTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 sec - in com.company.core.messaging.rmq.impl.RmqQueueReaderTest
Running com.company.core.messaging.rmq.message.RefreshMultiSpeakMessageTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.589 sec - in com.company.core.messaging.rmq.message.RefreshMultiSpeakMessageTest
Running com.company.core.messaging.rmq.BasicFunctionalityTest
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.228 sec - in com.company.core.messaging.rmq.BasicFunctionalityTest

Results :

Tests run: 207, Failures: 0, Errors: 0, Skipped: 0

[INFO] 
[INFO] >>> cobertura-maven-plugin:2.5.2:cobertura (default) > [cobertura]test @ ns-core >>>
[INFO] 
[INFO] --- maven-antrun-plugin:1.8:run (generate-sources) @ ns-core ---
[INFO] Executing tasks

main:
[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] --- cobertura-maven-plugin:2.5.2:instrument (default) @ ns-core ---
[INFO] Cobertura 1.9.4.1 - GNU GPL License (NO WARRANTY) - See COPYRIGHT file
Instrumenting 481 files to /home/bli/ns/tun-0018-New/BASE_STATION/java/target/generated-classes/cobertura
[cobertura] WARN  [main] net.sourceforge.cobertura.instrument.ClassInstrumenter - No line number information found for class com.company.core.common.dao.impl.hibernate.ErtReadingDaoHibernate.  Perhaps you need to compile with debug=true?
[cobertura] WARN  [main] net.sourceforge.cobertura.instrument.ClassInstrumenter - No line number information found for class com.company.core.common.dao.impl.jdbc.LicenseDaoJdbc.  Perhaps you need to compile with debug=true?
[cobertura] WARN  [main] net.sourceforge.cobertura.instrument.ClassInstrumenter - No line number information found for class com.company.core.common.dao.impl.jdbc.CategorySelectListDaoJdbc.  Perhaps you need to compile with debug=true?
[cobertura] WARN  [main] net.sourceforge.cobertura.instrument.ClassInstrumenter - No line number information found for class com.company.core.common.dao.impl.jdbc.MeterServiceDaoJdbc.  Perhaps you need to compile with debug=true?
[cobertura] WARN  [main] net.sourceforge.cobertura.instrument.ClassInstrumenter - No line number information found for class com.company.core.meter.reading.dao.jdbc.PolyPhaseMeterReadingDaoJdbc.  Perhaps you need to compile with debug=true?
[cobertura] WARN  [main] net.sourceforge.cobertura.instrument.ClassInstrumenter - No line number information found for class com.company.core.meter.reading.dao.jdbc.SinglePhaseMeterReadingDaoJdbc.  Perhaps you need to compile with debug=true?
Cobertura: Saved information on 481 classes.
Instrument time: 516ms

[INFO] Instrumentation was successful.
[INFO] NOT adding cobertura ser file to attached artifacts list.
[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
-------------------------------------------------------

Results :

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] top-level Maven project ......................... SUCCESS [  0.079 s]
[INFO] core Java library ............................... FAILURE [ 17.884 s]
[INFO] web application (presentation) .................. SKIPPED

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 18.131 s
[INFO] Finished at: 2015-01-16T16:01:12-08:00
[INFO] Final Memory: 21M/363M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.18.1:test (default-test) on project ns-core: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.18.1:test failed: There was an error in the forked process
[ERROR] java.lang.VerifyError: Instruction type does not match stack map
[ERROR] Exception Details:
[ERROR] Location:
[ERROR] com/company/test/BaseDaoIntegrationTest.removeDeviceReadingData(J[I)V @71: iload
[ERROR] Reason:
[ERROR] Type integer (current frame, locals[4]) is not assignable to 'java/text/NumberFormat' (stack map, locals[4])
[ERROR] Current Frame:
[ERROR] bci: @71
[ERROR] flags: { }
[ERROR] locals: { 'com/company/test/BaseDaoIntegrationTest', long, long_2nd, '[I', integer, integer, 'java/text/DecimalFormat', '[Ljava/lang/Object;', integer }
[ERROR] stack: { }
[ERROR] Stackmap Frame:
[ERROR] bci: @71
[ERROR] flags: { }
[ERROR] locals: { 'com/company/test/BaseDaoIntegrationTest', long, long_2nd, '[I', 'java/text/NumberFormat', '[Ljava/lang/Object;', integer }
[ERROR] stack: { }
[ERROR] Bytecode:
[ERROR] 0x0000000: 0336 0411 ffff 3605 120b 1100 21b8 0011
[ERROR] 0x0000010: bb00 5259 1254 b700 573a 0612 0b11 0022
[ERROR] 0x0000020: b800 112d be04 60bd 0004 3a07 120b 1100
[ERROR] 0x0000030: 24b8 0011 1907 031f b800 3953 120b 1100
[ERROR] 0x0000040: 25b8 0011 0436 0815 0819 07be 1100 2536
[ERROR] 0x0000050: 0411 0000 3605 a200 4615 0411 0025 a000
[ERROR] 0x0000060: 1a15 0511 0000 a000 1212 0b15 0415 0504
[ERROR] 0x0000070: b800 5f11 ffff 3605 120b 1100 26b8 0011
[ERROR] 0x0000080: 1907 1508 2d15 0804 642e b800 3e53 120b
[ERROR] 0x0000090: 1100 25b8 0011 8408 01a7 ffae 1505 9b00
[ERROR] 0x00000a0: 1212 0b15 0415 0503 b800 5f11 ffff 3605
[ERROR] 0x00000b0: 120b 1100 29b8 0011 0336 0815 0810 1011
[ERROR] 0x00000c0: 0029 3604 1100 0036 05a2 007a 1504 1100
[ERROR] 0x00000d0: 29a0 001a 1505 1100 00a0 0012 120b 1504
[ERROR] 0x00000e0: 1505 04b8 005f 11ff ff36 0512 0b11 002a
[ERROR] 0x00000f0: b800 1119 0615 0885 b600 633a 0912 0b11
[ERROR] 0x0000100: 002b b800 112a b600 31bb 0065 59b7 0066
[ERROR] 0x0000110: 1268 b600 6c19 09b6 006c 126e b600 6c2d
[ERROR] 0x0000120: beb8 0074 b600 6c12 76b6 006c b600 7a19
[ERROR] 0x0000130: 07b6 0044 5712 0b11 0029 b800 1184 0801
[ERROR] 0x0000140: a7ff 7b15 059b 0012 120b 1504 1505 03b8
[ERROR] 0x0000150: 005f 11ff ff36 0512 0b11 002f b800 11b1
[ERROR] 0x0000160:
[ERROR] Stackmap Table:
[ERROR] append_frame(@71,Object[#89],Object[#91],Integer)
[ERROR] chop_frame(@184,1)
[ERROR] append_frame(@187,Integer)
[ERROR] chop_frame(@351,1)
[ERROR] 
[ERROR] at java.lang.Class.getDeclaredMethods0(Native Method)
[ERROR] at java.lang.Class.privateGetDeclaredMethods(Class.java:2693)
[ERROR] at java.lang.Class.privateGetMethodRecursive(Class.java:3040)
[ERROR] at java.lang.Class.getMethod0(Class.java:3010)
[ERROR] at java.lang.Class.getMethod(Class.java:1776)
[ERROR] at org.apache.maven.surefire.util.ReflectionUtils.tryGetMethod(ReflectionUtils.java:57)
[ERROR] at org.apache.maven.surefire.common.junit3.JUnit3TestChecker.isSuiteOnly(JUnit3TestChecker.java:64)
[ERROR] at org.apache.maven.surefire.common.junit3.JUnit3TestChecker.isValidJUnit3Test(JUnit3TestChecker.java:59)
[ERROR] at org.apache.maven.surefire.common.junit3.JUnit3TestChecker.accept(JUnit3TestChecker.java:54)
[ERROR] at org.apache.maven.surefire.common.junit4.JUnit4TestChecker.accept(JUnit4TestChecker.java:52)
[ERROR] at org.apache.maven.surefire.common.junit48.JUnit48TestChecker.accept(JUnit48TestChecker.java:50)
[ERROR] at org.apache.maven.surefire.util.DefaultScanResult.applyFilter(DefaultScanResult.java:97)
[ERROR] at org.apache.maven.surefire.junitcore.JUnitCoreProvider.scanClassPath(JUnitCoreProvider.java:210)
[ERROR] at org.apache.maven.surefire.junitcore.JUnitCoreProvider.invoke(JUnitCoreProvider.java:134)
[ERROR] at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203)
[ERROR] at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155)
[ERROR] at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command

Cobertura Maven 插件需要更新到版本 2.7 以支持 Java8.

参见:http://jira.codehaus.org/browse/MCOBERTURA-189

主题类似于: mvn test fails because of Surefire JDK version?

我的工作解决方案是:

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.19.1</version>
    <configuration>
      <jvm>${env.JAVA_HOME}/bin/java</jvm>
    </configuration>
  </plugin>

解决方案的原因以及我是如何得出的

我根本没有 Cobertura。 我是从控制台开始构建的。 我已经将 JAVA_HOME 定义为 JDK 1.8.

java -version java version "1.8.0_91" Java(TM) SE Runtime Environment (build 1.8.0_91-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)

javac -version javac 1.8.0_25

mvn -U clean install -Dmaven.test.skip=true 运行良好。 仅执行 mvn -U clean install 会导致:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.14.1:test (default-test) on project logprocessing-core: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.14.1:test failed: There was an error in the forked process
[ERROR] java.lang.UnsupportedClassVersionError: mycompany/myproject/common/TestConstants : Unsupported major.minor version 52.0

使用 surefire 2.19.1 也会出现同样的问题。

Surefire 有自己的私人 JDK 首选项。

以前也遇到过同样的问题。 参见:

因此解决方案是在插件配置中显式添加 jvm 规范。

此致, 下水道

运行 你作为管理员的程序,这对我有用。