java-线程“ main”中的异常java.lang.NoClassDefFoundError:io / kubernetes / client / openapi / ApiException

徐By

我试图在我的mini-maven项目中的k8s-java重现该示例但是,我一直陷入这个错误-线程“主” java.lang.NoClassDefFoundError中的异常:io / kubernetes / client / openapi / ApiException。我的Maven项目是在5分钟内Maven借来的,仅更改了几行。

  • App.java
package com.mycompany.app;

import io.kubernetes.client.openapi.ApiClient;
import io.kubernetes.client.openapi.ApiException;
import io.kubernetes.client.openapi.Configuration;
import io.kubernetes.client.openapi.apis.CoreV1Api;
import io.kubernetes.client.openapi.models.V1Pod;
import io.kubernetes.client.openapi.models.V1PodList;
import io.kubernetes.client.util.Config;
import java.io.IOException;


/**
 * A simple example of how to use the Java API
 *
 * <p>Easiest way to run this: mvn exec:java
 * -Dexec.mainClass="io.kubernetes.client.examples.Example"
 *
 * <p>From inside $REPO_DIR/examples
 */
public class App {
    public static void main(String[] args) throws IOException, ApiException {
      ApiClient client = Config.defaultClient();
      Configuration.setDefaultApiClient(client);
  
      CoreV1Api api = new CoreV1Api();
      V1PodList list =
          api.listPodForAllNamespaces(null, null, null, null, null, null, null, null, null);
      for (V1Pod item : list.getItems()) {
        System.out.println(item.getMetadata().getName());
      }
    }
  }

  • pom.xml
 <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>io.kubernetes</groupId>
      <artifactId>client-java</artifactId>
      <version>10.0.0</version>
    </dependency>
  </dependencies>
  • 指令
  1. mvn clean package
  2. java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App
  • 失误
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: io/kubernetes/client/openapi/ApiException
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
        at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
        at java.lang.Class.getMethod0(Class.java:3018)
        at java.lang.Class.getMethod(Class.java:1784)
        at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:650)
        at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:632)
Caused by: java.lang.ClassNotFoundException: io.kubernetes.client.openapi.ApiException
        at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
        ... 7 more

感谢任何人的帮助!

阿披吉·盖克瓦德(Abhijit Gaikwad)

运行使用 mvn exec:java -D exec.mainClass=com.mycompany.app.App

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章