Я пытаюсь скомпилировать проект, в котором есть тесты, написанные на groovy. В проекте есть --enable-preview
для Java 12.
Я использую gmavenplus-plugin для этого:
<plugin>
<groupId>org.codehaus.gmavenplus</groupId>
<artifactId>gmavenplus-plugin</artifactId>
<version>1.6.3</version>
<configuration>
<targetBytecode>${java.version}</targetBytecode>
<testSources>
<testSource>
<directory>${testSourceDirectory}</directory>
<includes>
<include>**/*.groovy</include>
</includes>
</testSource>
</testSources>
</configuration>
<executions>
<execution>
<goals>
<goal>compileTests</goal>
</goals>
</execution>
</executions>
</plugin>
У меня есть --enable-preview
для компилятора maven и surefire/failsafe (с использованием argLine). Все работает, если я отключу заводной плагин (и тесты).
Но когда я включаю его, он терпит неудачу с:
Failed to execute goal org.codehaus.gmavenplus:gmavenplus-plugin:1.6.3:compileTests (default) on project apikey-manager-api: Error occurred while calling a method on a Groovy class from classpath.: InvocationTargetException: Preview features are not enabled for com/acme/config/EndToEndTest (class file version 56.65535). Try running with '--enable-preview' -> [Help 1]
Я не вижу никаких параметров, которые я мог бы передать этому плагину, чтобы включить функции предварительного просмотра. Он использует javac? Или такая опция должна быть в groovyc?
javap -v <class>
, вы можете проверить, что версия дополнительного файла класса не равна нулю, чтобы убедиться, что он был скомпилирован с --enable-preview. - person Jorn Vernee   schedule 25.03.2019JAVA_OPTS
на --enable-preview будет работать? (это работает с изоляцией, используя командную строку groovy) - person Jorn Vernee   schedule 25.03.2019