Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

java - Exception in thread "main" java.lang.NoClassDefFoundError: io/kubernetes/client/openapi/ApiException

I've tried to reproduce the example in k8s-java in my mini-maven project. However, I kept getting into this error - Exception in thread "main" java.lang.NoClassDefFoundError: io/kubernetes/client/openapi/ApiException. My maven project is borrowed from maven in 5 minutes and is only changed a few lines.

  • 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>
  • Commands
  1. mvn clean package
  2. java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App
  • Errors
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

Thanks anyone for the help!

like image 686
Byron Hsu Avatar asked Dec 06 '25 18:12

Byron Hsu


1 Answers

run using mvn exec:java -D exec.mainClass=com.mycompany.app.App

like image 161
Abhijit Gaikwad Avatar answered Dec 08 '25 07:12

Abhijit Gaikwad



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!