Сбой виртуальной машины с плагином maven-surefire, имеющим module-info.java

Изначально у меня была одна уникальная информация о модуле в следующей папке: src/main/java/module-info.java.

Я смог успешно запустить тесты.

Теперь мне нужно перезаписать module-info, потому что мне нужно добавить некоторые изменения, которые относятся только к тесту. Изменение касается открытия модуля. Я добавляю этот новый module-info.java сюда: src/main/test/module-info.java.

Если я выполняю тесты с этим, я получаю следующую ошибку:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M4:test (default-test) on project myProject: There are test failures.
[ERROR] 
[ERROR] Please refer to /home/xxxxxx/workspace/myProject/target/surefire-reports for the individual test results.
[ERROR] Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.
[ERROR] The forked VM terminated without properly saying goodbye. VM crash or System.exit called?
[ERROR] Command was /bin/sh -c cd /home/xxxxxx/workspace/myProject && /home/xxxxxx/programs/java/jdk-11.0.10/bin/java --add-reads org.eclipse.yasson=ALL-UNNAMED --add-opens org.eclipse.yasson/org.eclipse.yasson.internal.cdi=ALL-UNNAMED --add-exports org.eclipse.yasson/org.eclipse.yasson.internal.cdi=java.naming @/home/xxxxxx/workspace/myProject/target/surefire/surefireargs1904933309274673454 /home/xxxxxx/workspace/myProject/target/surefire 2021-03-15T16-59-30_852-jvmRun1 surefire12108354424712784981tmp surefire_06907989403807941803tmp
[ERROR] Error occurred in starting fork, check output in log
[ERROR] Process Exit Code: 1
[ERROR] org.apache.maven.surefire.booter.SurefireBooterForkException: The forked VM terminated without properly saying goodbye. VM crash or System.exit called?
[ERROR] Command was /bin/sh -c cd /home/xxxxxx/workspace/myProject && /home/xxxxxx/programs/java/jdk-11.0.10/bin/java --add-reads org.eclipse.yasson=ALL-UNNAMED --add-opens org.eclipse.yasson/org.eclipse.yasson.internal.cdi=ALL-UNNAMED --add-exports org.eclipse.yasson/org.eclipse.yasson.internal.cdi=java.naming @/home/xxxxxx/workspace/myProject/target/surefire/surefireargs1904933309274673454 /home/xxxxxx/workspace/myProject/target/surefire 2021-03-15T16-59-30_852-jvmRun1 surefire12108354424712784981tmp surefire_06907989403807941803tmp
[ERROR] Error occurred in starting fork, check output in log
[ERROR] Process Exit Code: 1
[ERROR]     at org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:690)
[ERROR]     at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:285)
[ERROR]     at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:248)
[ERROR]     at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeProvider(AbstractSurefireMojo.java:1217)
[ERROR]     at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked(AbstractSurefireMojo.java:1063)
[ERROR]     at org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute(AbstractSurefireMojo.java:889)
[ERROR]     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
[ERROR]     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210)
[ERROR]     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156)
[ERROR]     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)
[ERROR]     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
[ERROR]     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
[ERROR]     at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
[ERROR]     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
[ERROR]     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)
[ERROR]     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)
[ERROR]     at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)
[ERROR]     at org.apache.maven.cli.MavenCli.execute(MavenCli.java:957)
[ERROR]     at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:289)
[ERROR]     at org.apache.maven.cli.MavenCli.main(MavenCli.java:193)
[ERROR]     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ERROR]     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[ERROR]     at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[ERROR]     at java.base/java.lang.reflect.Method.invoke(Method.java:566)
[ERROR]     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282)
[ERROR]     at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)
[ERROR]     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)
[ERROR]     at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)

В target/surefire-reports/2021-03-15T16-59-30_852-jvmRun1.dumpstream создан новый файл:

# Created at 2021-03-15T16:59:31.842
Corrupted STDOUT by directly writing to native stream in forked JVM 1. Stream 'Error occurred during initialization of boot layer'.

# Created at 2021-03-15T16:59:31.854
Corrupted STDOUT by directly writing to native stream in forked JVM 1. Stream 'java.lang.module.FindException: Error reading module: /home/xxxxxx/workspace/myProject/target/test-classes'.

Это информация о модуле в тестовой папке:

open module org.eclipse.yasson {
    
    requires jakarta.json;
    requires jakarta.json.bind;
    requires java.logging;
    requires org.junit.jupiter.api;
    requires static jakarta.annotation;
    requires static java.naming;
    requires static java.sql;
    requires static java.desktop;
    requires static jakarta.cdi;

    exports org.eclipse.yasson;
    exports org.eclipse.yasson.spi;
    provides jakarta.json.bind.spi.JsonbProvider with org.eclipse.yasson.JsonBindingProvider;
    uses org.eclipse.yasson.spi.JsonbComponentInstanceCreator;
}

maven-surefire-плагин: 3.0.0-M4

Java версии 11.0.10


person ravenskater    schedule 15.03.2021    source источник


Ответы (1)


Проблема заключалась в том, что в пакете по умолчанию (без пакета) были некоторые тесты. После обновления maven-surefire-plugin:3.0.0-M5 я смог это увидеть.

person ravenskater    schedule 16.03.2021
comment
да, потому что я реализовал эту функцию, поэтому конкретная строка в файле дампа настолько важна, что ее нужно вывести на консоль. - person tibor17; 21.03.2021