6

Ben Mac 10.9.5 üzerinde Maven 3.2.3 kullanıyorum ve benim derleyici eklenti için bu var ki ...Java 8: "UseSplitVerifier" eşdeğeri nedir?

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

benim güzelliğinde-plugin yapılandırma için bu var ...

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

Ancak çalıştıran üzerine ... Ben bu uyarıyı olsun "temiz mVN yüklemek"

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

ne "UseSplitVerifier" Java 8 eşdeğerdir?

+1

Eşdeğer yoktur; sadece bu seçeneği kaldırın. – Holger

cevap

6

Eşdeğer yoktur. Yapılandırmanızdaki seçeneğin -UseSplitVerifier olduğunu (önceden eklenmiş eksi olduğunu unutmayın), seçeneğin SplitVerifier'i kullanmak için değil, Java 8 ile başlaması gerektiğini söyleyin, SplitVerifier zorunludur.

SplitVerifier, Java 6 ile tanıtıldı, o sırada isteğe bağlı oldu ve Java 7 ile varsayılan hale geldi. Ancak Java 7 ile, seçenek hala destekleniyordu, bu nedenle bir bayt kodu işleme aracı uyumsuz olduğunda kapatılabilir .

Bu, ilgili araçların ilgili StackMapFrame baytkod özniteliğiyle uyumlu olacak şekilde güncelleştirilebileceği bir ödemesiz dönem sağlamak amaçlanmıştır. O zarafet dönemi artık bitti.

Karşılaştığınız tek şey bu uyarı ise, başka bir deyişle, uyumluluk sorunu yaşamadığınız takdirde, bu seçeneği kaldırabilirsiniz. Aksi halde, problemli araçları/kütüphaneleri güncellemeniz gerekir.

1

-XX: -UseSplitVerifier'ı kullanmayı bırakmalısınız. Neyse, Java 8 tarafından desteklenmez. Ve maven-derleyici eklentinizi 3.2'ye yükseltin. Bu, bayt kodu doğrulamasıyla sorunlarınızı çözecektir.