Java 当 运行 .jar 文件时 regex.Matcher.results() 的 NoSuchMethodError
Java NoSuchMethodError for regex.Matcher.results() when running .jar file
当我 运行 我的应用程序作为 .jar 文件时,它 returns 出现以下错误:
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrc
der.java:61)
Caused by: java.lang.NoSuchMethodError: java.util.regex.Matcher.results()Ljav
til/stream/Stream;
at SalesToExcel.start(SalesToExcel.java:108)
at SalesToExcel.main(SalesToExcel.java:45)
... 5 more
但是,当我在 Eclipse IDE 中 运行 它时,它会起作用。有任何想法吗?我不确定我是否以某种方式丢失了正确的 jar 文件,即使 java.utils.regex 应该包含在 rt.jar 中。当我打包 jar 时,有没有办法检查它是否以某种方式丢失?
所以,这是你的问题。 java.util.regex.Matcher.results 在 Java 中,因为 Java 9 而你是 运行 带有 Java 8.
的 .jar
Eclipse 使用 Java11.
运行
在您的 OS 中至少安装 Java9 作为默认 JRE(Windows ?)。
当我 运行 我的应用程序作为 .jar 文件时,它 returns 出现以下错误:
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrc
der.java:61)
Caused by: java.lang.NoSuchMethodError: java.util.regex.Matcher.results()Ljav
til/stream/Stream;
at SalesToExcel.start(SalesToExcel.java:108)
at SalesToExcel.main(SalesToExcel.java:45)
... 5 more
但是,当我在 Eclipse IDE 中 运行 它时,它会起作用。有任何想法吗?我不确定我是否以某种方式丢失了正确的 jar 文件,即使 java.utils.regex 应该包含在 rt.jar 中。当我打包 jar 时,有没有办法检查它是否以某种方式丢失?
所以,这是你的问题。 java.util.regex.Matcher.results 在 Java 中,因为 Java 9 而你是 运行 带有 Java 8.
的 .jarEclipse 使用 Java11.
运行在您的 OS 中至少安装 Java9 作为默认 JRE(Windows ?)。