6

Я использую Maven 3.2.3 на Mac 10.9.5 и есть это для моего компилятора плагин ...Java 8: Что эквивалентно «UseSplitVerifier»?

        <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> 

У меня есть это для моей конфигурации безошибочный-плагин ...

    <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 чистую установку» Я получаю это предупреждение ...

Java HotSpot(TM) 64-Bit Server VM warning: ignoring option UseSplitVerifier; support was removed in 8.0 

Что такое Java 8 эквивалент «UseSplitVerifier»?

+1

Нет эквивалента; просто удалите эту опцию. – Holger

ответ

6

Нет эквивалента. Обратите внимание, что опция в вашей конфигурации - -UseSplitVerifier (обратите внимание на предварительный минус), поэтому опция говорит не, чтобы использовать SplitVerifier, но начиная с Java 8, SplitVerifier является обязательным.

Разделитель SplitVerifier был представлен с Java 6, будучи необязательным в то время и стал стандартным для Java 7. Но с поддержкой Java 7 эта опция по-прежнему поддерживалась, поэтому ее можно было отключить, если инструмент обработки байт-кода был несовместим ,

Это предназначалось для предоставления льготного периода, в котором эти инструменты могут обновляться, чтобы быть совместимыми с соответствующим атрибутом байтового кода StackMapFrame. Этот льготный период уже закончен.

Если единственное, с чем вы сталкиваетесь, это предупреждение, другими словами, у вас нет проблем с совместимостью, вы можете просто удалить эту опцию. В противном случае вам необходимо обновить проблемные инструменты/библиотеки.

1

Вы должны прекратить использовать -XX: -UseSplitVerifier. Во всяком случае, это не поддерживается Java 8. И обновите свой плагин maven-compiler до 3.2. Это решит ваши проблемы с проверкой байт-кода.