Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.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 从其他位置运行代码时,外部jar出现noClassdeffounderror_Java - Fatal编程技术网

Java 从其他位置运行代码时,外部jar出现noClassdeffounderror

Java 从其他位置运行代码时,外部jar出现noClassdeffounderror,java,Java,我正在学习Java,并试图在另一台机器上测试我的代码,但我遇到了上述错误。我看了youtube视频,读了论坛(等等),但还是没能做到 我基本上使用eclipse在mac上编写了一些代码,引用了一个外部jar文件。我在lib文件夹中有这个jar,并通过右键单击“buildpath->addtobuildpath”将它添加到Eclipse中的构建路径中。代码在我的笔记本电脑上运行良好 但是当我试图从linux命令行运行它时,我得到了上面的错误。我从eclipse获取代码并将其复制到一个文件(firs

我正在学习Java,并试图在另一台机器上测试我的代码,但我遇到了上述错误。我看了youtube视频,读了论坛(等等),但还是没能做到

我基本上使用eclipse在mac上编写了一些代码,引用了一个外部jar文件。我在lib文件夹中有这个jar,并通过右键单击“buildpath->addtobuildpath”将它添加到Eclipse中的构建路径中。代码在我的笔记本电脑上运行良好

但是当我试图从linux命令行运行它时,我得到了上面的错误。我从eclipse获取代码并将其复制到一个文件(first_try.java),然后运行以下命令:

CLASSPATH=./jedis-2.0.0.jar;export CLASSPATH 
javac first_try.java 
java -classpath . first_try
但是我得到了错误:
线程“main”java.lang.NoClassDefFoundError中的异常:redis/clients/jedis/jedis
我通过wget下载了程序,检查了权限并尝试了不同的变体。我发现(在许多相关的问题中)有一个类似的问题,它的上下文与我的相似,但用户只需键入java文件名就行了(这对我不适用)

我正在学习一些java代码,但从未成功地运行过外部JAR。我想知道我做错了什么,我能做些什么来永久性地修复它(理想情况下,我想在本地编写代码,然后复制它并在另一台机器上测试它)


或者有更好的方法将依赖第三方JAR的代码部署到其他系统吗?

您正在构建类path env var,但没有在java命令中使用该值。您需要$CLASSPATH,而不是类路径后面的点
祝你学习java好运,我已经喜欢使用它超过10年了;)

试试这个
javac-cp./jedis-2.0.0.jar first_-Try.java
java-cp:./jedis-2.0.0.jar first_-Try
@RanRag与上面的错误完全相同。当我首先运行“java-cp=/home/ec2 user/code/jedis-2.0.0.jar”时,我会得到“线程中的异常”mainjava.lang.NoClassDefFoundError:/home/ec2 user/code/jedis-2/0/0/jar'
java-cp.:/home/ec2 user/code/jedis-2.0.0.jar首先尝试一下,
我在运行时遇到了完全相同的错误..哦,刚才注意到了javac-你可能也必须传递类路径到它-现在不要太多使用javac,还有eclipse和ant等等!谢谢你的回答,大卫。我尝试运行命令“java-classpath$classpath first_try”,但仍然出现相同的错误,但与上述错误不同的是,它没有提到外部jar,而是提到了我试图运行的文件“Exception in thread”main“java.lang.NoClassDefFoundError:first_try”我在笔记本电脑上使用eclipse(它工作正常)但是我尝试在另一台机器上运行它(它是linux服务器),当我执行“javac-classpath=$classpath first\u try.java”时,我得到一个错误“javac:invalid flag:-classpath=./jedis-2.0.0.jar”应该没有等号-您需要:-classpath$classpath”