我正在尝试构建我的 jwrapper 应用程序,但它失败了
WARNING: Error on output: java.io.IOException: bad class major version for Java 7 invokedynamic
**********************************
* BUILD FAILED *
**********************************
** Error Trace:
java.io.IOException: bad class major version for Java 7 invokedynamic
at com.sun.java.util.jar.pack.PackageWriter.writeByteCodes(PackageWriter.java:1657)
at com.sun.java.util.jar.pack.PackageWriter.writeMembers(PackageWriter.java:1227)
at com.sun.java.util.jar.pack.PackageWriter.writeClassesAndByteCodes(PackageWriter.java:1202)
at com.sun.java.util.jar.pack.PackageWriter.write(PackageWriter.java:79)
at com.sun.java.util.jar.pack.PackerImpl$DoPack.flushPackage(PackerImpl.java:602)
at com.sun.java.util.jar.pack.PackerImpl$DoPack.flushAll(PackerImpl.java:556)
at com.sun.java.util.jar.pack.PackerImpl$DoPack.run(PackerImpl.java:492)
at com.sun.java.util.jar.pack.PackerImpl.pack(PackerImpl.java:98)
at jwrapper.pack200.Pack200Compressor.compressFileToOutputStream(Pack200Compressor.java:225)
at jwrapper.archive.Archive.addFileToStream(Archive.java:422)
at jwrapper.archive.Archive.addFile(Archive.java:159)
at jwrapper.archive.Archive.addFile(Archive.java:103)
at jwrapper.archive.LaunchableArchive.addFile(LaunchableArchive.java:43)
at jwrapper.archive.LaunchableArchive.addFile(LaunchableArchive.java:29)
at jwrapper.JWrapperCompiler.main(JWrapperCompiler.java:2827)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at SecureRunner2.<init>(SecureRunner2.java:452)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
at SecureRunner1.<init>(SecureRunner1.java:410)
at SecureRunner1.<init>(SecureRunner1.java:227)
at SecureRunner1.main(SecureRunner1.java:52)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
它过去构建时完全没有问题,也没有任何改变(不是 jwrapper.xml 文件,如果有帮助可以附加,也不是 java 版本 jdk1.8.0_31,甚至是被包装的代码!)。让我感到困惑的是(是的,我在 Google 上搜索了 invokedynamic、java 7、jwrapper 等以及它们的各种组合),Java 7 是如何参与其中的。我的系统上没有 Java 7 的实例——我正在打包 1.8.0_31 JRE,并且正在使用 jdk1.8.0_31 来运行该进程。