Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.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
okhttp3在java maven项目中导致java.lang.NoClassDefFoundError_Java_Maven_Netbeans_Okhttp3 - Fatal编程技术网

okhttp3在java maven项目中导致java.lang.NoClassDefFoundError

okhttp3在java maven项目中导致java.lang.NoClassDefFoundError,java,maven,netbeans,okhttp3,Java,Maven,Netbeans,Okhttp3,我知道有很多关于这个问题的问题,但是没有一个对我有意义。我构建了一个Java桌面应用程序,它通过与API通信来添加销售产品。我正在使用OKHTTP3.9.0来完成这项任务。问题是,当我执行Netbeans的“runproject”命令时,我的应用程序运行得很好,但当我使用“java-jar file.jar”命令运行应用程序时,我会收到异常,说明找不到okhttp3类。这是我第一次尝试在IDE之外运行Java应用程序,所以我有点迷路了 我正在从以下位置运行我的应用程序: C:\Users\Di

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

我正在从以下位置运行我的应用程序:

 C:\Users\Diego Alves\.m2\repository\com\mycompany\loja\1.0-SNAPSHOT

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

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

<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>

对于OkHTTP没有与android的链接,您可以在任何Java应用程序中使用它

okhttp在移动开发中非常流行,这可以解释该领域的许多搜索结果。您是否用包含main方法的类替换了您的.package.MainClass?您可能想研究如何打包可执行jar以及如何管理可执行jar的类路径。Netbeans(和Maven)将对您隐藏所有有价值的知识,但只要您不了解Java平台的基本知识,您就会不断遇到工具无法完成您想要的任务的问题,因为您不知道在哪里查找。
java -jar target/your_jar_name.jar