Он работает хорошо, за исключением плагина maven.
Когда я запускаю mvn Flyway:info -P dev< /code>, это дает мне
Exception in thread "main" java.util.ServiceConfigurationError: org.flywaydb.core.extensibility.Plugin: org.flywaydb.core.internal.reports.json.InfoResultDeserializer Unable to get public no-arg constructor
at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:582)
at java.base/java.util.ServiceLoader.getConstructor(ServiceLoader.java:675)
at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1236)
at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1269)
at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1305)
at java.base/java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1387)
at org.flywaydb.core.internal.plugin.PluginRegister.registerPlugins(PluginRegister.java:44)
at org.flywaydb.core.internal.plugin.PluginRegister.getPlugins(PluginRegister.java:58)
at org.flywaydb.core.internal.plugin.PluginRegister.getPlugins(PluginRegister.java:64)
at org.flywaydb.core.internal.configuration.ConfigUtils.convertKey(ConfigUtils.java:365)
at org.flywaydb.core.internal.configuration.ConfigUtils.environmentVariablesToPropertyMap(ConfigUtils.java:130)
at org.flywaydb.maven.AbstractFlywayMojo.execute(AbstractFlywayMojo.java:848)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:126)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2(MojoExecutor.java:328)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute(MojoExecutor.java:316)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:174)
at org.apache.maven.lifecycle.internal.MojoExecutor.access$000(MojoExecutor.java:75)
at org.apache.maven.lifecycle.internal.MojoExecutor$1.run(MojoExecutor.java:162)
at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute(DefaultMojosExecutionStrategy.java:39)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:159)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:105)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:73)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:53)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:118)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:261)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:173)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:101)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:903)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:280)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:203)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:255)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:201)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:361)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:314)
Caused by: java.lang.VerifyError: Bad return type
Exception Details:
Location:
org/flywaydb/core/internal/reports/json/InfoResultDeserializer.deserialize(Lcom/google/gson/JsonObject;)Lorg/flywaydb/core/api/output/HtmlResult; @5: areturn
Reason:
Type 'org/flywaydb/core/api/output/InfoResult' (current frame, stack[0]) is not assignable to 'org/flywaydb/core/api/output/HtmlResult' (from method signature)
Current Frame:
bci: @5
flags: { }
locals: { 'org/flywaydb/core/internal/reports/json/InfoResultDeserializer', 'com/google/gson/JsonObject' }
stack: { 'org/flywaydb/core/api/output/InfoResult' }
Bytecode:
0000000: 2a2b b600 35b0
at java.base/java.lang.Class.getDeclaredConstructors0(Native Method)
at java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3572)
at java.base/java.lang.Class.getConstructor0(Class.java:3777)
at java.base/java.lang.Class.getConstructor(Class.java:2452)
at java.base/java.util.ServiceLoader$1.run(ServiceLoader.java:662)
at java.base/java.util.ServiceLoader$1.run(ServiceLoader.java:659)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:571)
at java.base/java.util.ServiceLoader.getConstructor(ServiceLoader.java:670)
... 35 more
Нигде ничего об этом не нашел.
Поскольку SpringBoot 3.2 связан с Flyway 9.22, я также попытался вручную обновить Flyway до V10. Он дает то же самое.
Вот мои элементы pom.xml:
- Зависимости:
org.flywaydb
flyway-core
org.flywaydb
flyway-mysql
runtime
com.mysql
mysql-connector-j
9.0.0
runtime
- Настройки плагина
org.flywaydb
flyway-maven-plugin
8.5.13
${db.url}
${db.username}
${db.password}
- Свойства
dev
my-user
xxxxxx
jdbc:mysql://localhost:3306/mydb
classpath:db/migration,db/dev_data
Подробнее здесь: https://stackoverflow.com/questions/787 ... yway-maven