Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“线程中的异常”;“主要”;java.lang.NoClassDefFoundError:java/util/function/Predicate_Java_Windows_Maven_Ubuntu_Jar - Fatal编程技术网

“线程中的异常”;“主要”;java.lang.NoClassDefFoundError:java/util/function/Predicate

“线程中的异常”;“主要”;java.lang.NoClassDefFoundError:java/util/function/Predicate,java,windows,maven,ubuntu,jar,Java,Windows,Maven,Ubuntu,Jar,我已经使用创建了一个jar文件 mvn assembly:assembly -DdescriptorId=jar-with-dependencies 我在windows上运行它,它工作正常,工作正常。然后我在Ubuntu上运行它,它给出了以下异常: Exception in thread "main" java.lang.NoClassDefFoundError: java/util/function/Predicate at Maxima_ImageJ.run(Maxima_ImageJ.j

我已经使用创建了一个jar文件

mvn assembly:assembly -DdescriptorId=jar-with-dependencies
我在windows上运行它,它工作正常,工作正常。然后我在Ubuntu上运行它,它给出了以下异常:

Exception in thread "main" java.lang.NoClassDefFoundError: java/util/function/Predicate
at Maxima_ImageJ.run(Maxima_ImageJ.java:13)
at Maxima_ImageJ.main(Maxima_ImageJ.java:27)
Caused by: java.lang.ClassNotFoundException: java.util.function.Predicate
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    ... 2 more

我不知道为什么它在Windows和Ubuntu中的工作方式不同。如果有人这样做,请帮助。它与java的版本有关吗

将类路径设置为Java 1.8,因为
Java.util.function.Predicate
是JavaSE8的一部分,在执行maven命令之前,在1.7部分
设置要使用的
命令中不可用

set path=C:\Program Files\Java\jdk1.8.0_05\bin//UPTO Bin
set JRE_HOME=C:\Program Files\Java\jre8//Upto Root folder of JRE
set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_05//UPTO Root folder of JDK

将类路径设置为Java 1.8,因为
Java.util.function.Predicate
是JavaSE8的一部分,在执行maven命令之前,在1.7部分
Set
命令中不可用

set path=C:\Program Files\Java\jdk1.8.0_05\bin//UPTO Bin
set JRE_HOME=C:\Program Files\Java\jre8//Upto Root folder of JRE
set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_05//UPTO Root folder of JDK

使用下面的命令检查java版本

readlink-f$(哪个java)

如果小于1.8,则必须更新Java_版本


一种方法是在.bashrc文件中进行编辑。

使用下面的命令检查java版本

readlink-f$(哪个java)

如果小于1.8,则必须更新Java_版本


一种方法是在.bashrc文件中进行编辑。

您正在运行哪个版本的java?这对低于1.8(Java8)的jre版本不起作用。我想我的Ubuntu机器的默认版本是1.7.0_75。在低于1.8的jre版本上,什么不会运行?java.util.function.Predicate是作为java 8的一部分引入的,因此代码将不适用于低于1.8的jre,您正在运行的java版本是什么?这对低于1.8(Java8)的jre版本不起作用。我想我的Ubuntu机器的默认版本是1.7.0_75。在低于1.8的jre版本上,什么不会运行?java.util.function.Predicate是作为java 8的一部分引入的,因此代码将不适用于jre<1.8