【问题标题】:java Maven add dependencyjava Maven添加依赖
【发布时间】:2018-09-14 04:59:19
【问题描述】:
java com.companyname.bank.App

错误:无法初始化主类 com.companyname.bank.App 导致 作者:java.lang.NoClassDefFoundError: org/apache/http/client/ResponseHandler

在我在 pom.xml 文件和 /src/lib 中的相关 .jar 文件中添加依赖项后,此报告不断发生。真的很迷茫,不知道怎么解决。

请帮我一把。谢谢。

这是我的操作过程:

  1. 复制粘贴:

    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpclient</artifactId>
      <version>4.5.6</version>
    </dependency>
    

从 Maven 仓库到我的 pom.xml

  1. 下载httpclient.jar到我的src/lib

  2. mvn 清洁包

  3. cd 目标/类

  4. java com.companyname.bank.App

然后错误来了。

【问题讨论】:

  • 您是否在您的pom.xml 中添加了httpclient-x.x.x.jar 作为依赖项?版本可能因其他依赖项而异,因此称为x
  • 你是什么意思“并添加相关的.jar in..”?除了插入依赖项之外,您是否手动添加了 jar?如果是这样,请删除您手动添加的 jar。 Maven 会处理它。
  • 请提供您的 pom.xml(仅在您添加依赖项的地方)。帮助你会更容易。谢谢。
  • @N00bPr0grammer org.apache.httpcomponentshttpclient4.5.6
  • 请再次检查我的问题。谢谢。 @小飞象

标签: java maven


【解决方案1】:

当编译器可以成功编译类,但 Java 运行时找不到类文件时会发生错误。通常是在执行静态块或初始化类的静态字段时发生异常,导致类初始化失败。

your answer is here

【讨论】:

    【解决方案2】:

    您必须使用 maven exec 插件来启动您的应用程序:doc is here.

    "java" 本身对您的 Maven 依赖项一无所知。

    试试:

    mvn exec:java -Dexec.mainClass="com.companyname.bank.App"

    【讨论】:

      【解决方案3】:

      我建议您删除 maven 存储库或 httpclient 文件夹,然后尝试重新构建。你不会再收到错误了。

      因为httpclient.jar在下载时可能会损坏或者由于网络问题可能没有完全下载

      【讨论】:

        猜你喜欢
        • 2017-03-24
        • 2016-03-31
        • 2019-08-18
        • 2013-03-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多