Java 8: Что такое эквивалент "UseSplitVerifier"?
Я использую Maven 3.2.3 на Mac 10.9.5 и имею это для моего плагина компилятора ...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArgument>-proc:none</compilerArgument>
<fork>true</fork>
<!-- <compilerId>eclipse</compilerId>-->
</configuration>
<executions>
<execution>
<id>default-testCompile</id>
<phase>test-compile</phase>
<goals>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
у меня есть это для моей конфигурации плагина surefire...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.17</version>
<configuration>
<reuseForks>true</reuseForks>
<argLine>-Xmx2048m -XX:MaxPermSize=512M -XX:-UseSplitVerifier ${argLine}</argLine>
<skipTests>${skipAllTests}</skipTests>
</configuration>
</plugin>
однако при запуске "mvn clean install" я получаю это предупреждение ...
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option UseSplitVerifier; support was removed in 8.0
что такое эквивалент Java 8 "UseSplitVerifier"?
2 ответов
нет эквивалента. Обратите внимание, что опция в вашей конфигурации -UseSplitVerifier
(обратите внимание на добавленный минус), поэтому опция говорит не чтобы использовать SplitVerifier, но начиная с Java 8, SplitVerifier является обязательным.
SplitVerifier был введен с Java 6, будучи необязательным в то время и стал по умолчанию с Java 7. Но с Java 7 опция все еще поддерживалась, поэтому она могла быть отключена в случае, если инструмент обработки байт-кода был несовместимый.
Это должно было обеспечить льготный период, в котором эти инструменты могут обновляться, чтобы быть совместимыми с соответствующими StackMapFrame
атрибут байт-код. Этот льготный период закончился.
Если единственное, с чем вы сталкиваетесь, это предупреждение, другими словами, у вас нет проблем с совместимостью, вы можете просто удалить эту опцию. В противном случае вам придется обновить проблемные инструменты/библиотеки.
вы должны прекратить использовать-XX: - UseSplitVerifier. В любом случае, это не поддерживается Java 8. И обновите плагином Maven-компилятор-plugin для 3.2 . Который будет решать ваши проблемы с байт-кода верификации.