I'm trying to run Spring MVC app using gretty plugin for Gradle (JVM version is 14)
To deploy app I use tomcatRun task (tomcat version is 8.5.49).
If i use some preview feature (e.g. java.lang.String#formatted method) I have to add enable-preview flag to compileJava task:
compileJava {
options.compilerArgs += '--enable-preview'
}
However, if build.gradle contains such changes, something goes wrong and the following message appears in logs:
INFO: No Spring WebApplicationInitializer types detected on classpath
As a result all app endpoints aren't available.
In case of using jettyRun task the following exception is thrown:
17:14:38 WARN Failed startup of context o.a.g.JettyWebAppContext@2715644a
java.lang.UnsupportedClassVersionError: Preview features are not enabled for com/config/ApplicationDispatcherServletInitializer (class file version 58.65535). Try running with '--enable-preview'
Is it possible to use preview features with gretty plugin?
Solved by adding
--enable-previewto the list of JVM arguments in gretty configuration:build.gradleChecked on both Jetty(9.4.24.v20191120) and Tomcat(8.5.49)