【问题标题】:java.lang.NoClassDefFoundError: twitter4j/TwitterExceptionjava.lang.NoClassDefFoundError: twitter4j/TwitterException
【发布时间】:2019-04-11 03:43:12
【问题描述】:

这是我第一次使用 twitter4j API 下载 twitter 推文。我正在使用 Eclipse->Maven 设置对 twitter4j-core-4.0.4.jar 的依赖项。

<dependency>
        <groupId>org.twitter4j</groupId>
        <artifactId>twitter4j-core</artifactId>
        <version>4.0.4</version>
</dependency>

我在远程大学 unix 系统上运行我的项目 jar。 我的可运行 jar(27MB) 运行良好,没有任何问题,但我的不可运行 jar(10KB) 失败并出现以下错误。

Exception in thread "main" java.lang.NoClassDefFoundError: twitter4j/TwitterException
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Class.java:2570)
        at java.lang.Class.getMethod0(Class.java:2813)
        at java.lang.Class.getMethod(Class.java:1663)

项目的“Java 构建路径”属性中的“库”和“订购和导出”部分确实包含 Maven 依赖项。

我无法提交可运行的 jar,因为它太大了。我不确定为什么会出现错误,因为我之前使用外部 jar 成功运行了其他类似的程序。

我是 Maven 和 Twitter4j 的新手,所以我怀疑这可能是一个已知问题。

【问题讨论】:

  • 你能尝试从你有 pom.xml 的目录中的命令行执行mvn install。运行你的jar,看看问题是否仍然存在?
  • C:\Users\Suraj\Desktop\Eclipse JAVA workspaces\BigDataAssgnmt2>mvn install 'mvn' 不是内部或外部命令、可运行程序或批处理文件。我错过了什么吗??

标签: java eclipse maven jar twitter4j


【解决方案1】:

我想我已经找到了解决方案。似乎这是一个我不知道的基本概念。不可运行的项目 jar 在运行时无法访问其外部 jar 依赖项。必须使用类路径变量特别提及 jar 位置。就我而言,由于我在 unix 上使用 hadoop 来执行 jar,所以我执行了以下操作,并且成功了。

export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:/home/005/s/ss/ssp151830/twitter4j-core-4.0.2.jar

如果您只使用普通 java,则更新 java 类路径变量。

【讨论】:

    猜你喜欢
    • 2012-04-17
    • 1970-01-01
    • 2011-04-07
    • 1970-01-01
    • 2018-09-09
    • 2011-04-09
    • 1970-01-01
    • 2014-03-21
    • 2013-12-17
    相关资源
    最近更新 更多