微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我收到的错误正在检查Apache Pig版本“错误:找不到或加载主类C:\ java \ lib \ tools.jar”

如何解决我收到的错误正在检查Apache Pig版本“错误:找不到或加载主类C:\ java \ lib \ tools.jar”

我的Java正常工作,并且还为Java JDK 1.8.0_261设置了环境变量 但是当我运行pig -version时,它显示Error: Could not find or load main class C:\java\lib\tools.jar

Apache pig error

我还检查了lib中的Java文件夹中是否存在 tools.jar

tool.jar

此外,在Pig.cmd中,Apache Pig配置也是正确的

pig.cmd

我的Hadoop和MapReduce都工作正常,没有错误

解决方法

您的安装已损坏,或者您弄乱了Shell脚本。该错误实际上不能表示其他任何含义。

调用java.exe时,可以通过java -jar C:\foo.jar传递jar文件,也可以传递类路径+完全限定的类名:java -cp C:\foo.jar;C:\bar.jar com.foo.fullyqualified.ClassName

该错误表示您已经在该类名的位置传递了C:\java\lib\tools.jar。这将无法在任何系统上运行,无论安装如何:C:\java\lib\tools.jar是文件路径,而不是完全限定的类名。 tools.jar在该位置的存在是无关紧要的:就像我告诉你的那样:“我在书架上搜索了标题为“ Can of Paint”的书,但我找不到它”,然后您说:奇怪,因为(指着车库架子上的油漆罐),这里有油漆罐。” Java并未将其视为查找路径;它将其作为要在类路径上搜索的类名称。

请注意,这个简单的调用:

java.exe C:\lib\tools.jar

产生您正在观察的确切错误,这是Java的正确行为(因为正确的运行方式是java -jar C:\lib\tools.jar或更可能是java -cp C:\lib\tools.jar;. com.foo.YourApp。解决方法是:..不调用这样的Java错误。

原因

  1. 也许pig.cmd损坏了。您粘贴的图像不包括对Java的实际调用。

  2. 也许是Java损坏了。 java.exe完全有效吗?制作一些测试文件,进行编译,然后运行。这样行吗?

  3. 也许脚本试图通过让Windows来启动jar(因此,双击它,或者在脚本start foo.jar中,脚本最终将检查HKLM注册表部分中的{ {1}},然后检查那里的密钥以了解如何启动它,如果您手动编辑了它,那将会破坏事情:然后,您可能将其设置为.jar,它已被破坏了(必须为java %1)。

  4. java -jar %1不会调用您认为会调用的pig.cmd,而是其他。

  5. pig.cmd中的内容将启动另一个脚本。然后,该脚本被破坏,或者不是Pig.cmd认为是的脚本,等等。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?