首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >okhttp3导致java maven项目中的java.lang.NoClassDefFoundError

okhttp3导致java maven项目中的java.lang.NoClassDefFoundError
EN

Stack Overflow用户
提问于 2018-01-25 16:24:53
回答 1查看 997关注 0票数 1

我知道有很多关于这个问题的问题,但对我来说都没有意义。我构建了一个Java应用程序,该应用程序通过与API通信添加产品以供销售。我正在使用okhttp 3.9.0来完成这项任务。问题是,当我执行Netbeans的"run“命令时,我的应用程序工作得很好,但是当我使用"java -jar file.jar”命令运行应用程序时,我会得到异常,说明没有找到okhttp3类。这是我第一次尝试在IDE之外运行Java应用程序,所以我有点迷失了。

我正在运行我的应用程序:

代码语言:javascript
复制
 C:\Users\Diego Alves\.m2\repository\com\mycompany\loja\1.0-SNAPSHOT

还有一点让我感到困扰的是,在搜索okhttp3时,我通常会出现在与Android相关的页面上。okhttp3不是用于桌面应用程序吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-25 16:31:54

您需要向jar添加依赖项(okhttp就是其中之一),以便JVM可以在类路径中找到它们。为此,在pom.xml中添加以下插件

代码语言:javascript
复制
<build>
  <plugins>
    <plugin>
      <artifactId>maven-assembly-plugin</artifactId>
      <configuration>
        <archive>
          <manifest>
            <mainClass>your.package.MainClass</mainClass>
          </manifest>
        </archive>
        <descriptorRefs>
          <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
      </configuration>
    </plugin>
  </plugins>
</build>

还请确保设置了<packaging>jar</packaging>

然后运行构建(mvn clean install),它将生成一个可以成功执行的jar。

代码语言:javascript
复制
java -jar target/your_jar_name.jar

对于OkHTTP,没有与安卓的链接,您可以在任何Java中使用它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48447599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档