maven error : package io.kubernetes.client.apis does not exist
maven error : package io.kubernetes.client.apis does not exist
我是 maven 和 junit 的新手。我试图构建一个 Maven 项目,我想通过它尝试 kubernetes 官方 java 客户端 api 示例。编译 pom.xml 文件时遇到错误。我正在尝试使用命令行 运行 Maven 项目。为了编译 pom.xml 文件,我使用了“mvn clean package install”
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>ocp</groupId>
<artifactId>DemoTest</artifactId>
<version>14.0.1</version>
<packaging>jar</packaging>
<properties>
<java.version>1.8</java.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven-plugin-version>1.0.0</maven-plugin-version>
<exec-maven-plugin.version>1.6.0</exec-maven-plugin.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<prerequisites>
<maven>2.2.0</maven>
</prerequisites>
<dependencies>
<dependency>
<groupId>io.kubernetes</groupId>
<artifactId>client-java-api</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
<type>pom</type>
</dependency>
<dependency>
<groupId>io.kubernetes</groupId>
<artifactId>client-java</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
<type>pom</type>
</dependency>
<dependency>
<groupId>io.kubernetes</groupId>
<artifactId>client-java-proto</artifactId>
<version>14.0.0</version>
<scope>compile</scope>
<type>pom</type>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M5</version>
</plugin>
</plugins>
</build>
</project>
错误:-
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /mnt/d/junit/test/new/DemoTest/src/main/java/ocp/App.java:[3,28] package io.kubernetes.client does not exist
[ERROR] /mnt/d/junit/test/new/DemoTest/src/main/java/ocp/App.java:[4,28] package io.kubernetes.client does not exist
[ERROR] /mnt/d/junit/test/new/DemoTest/src/main/java/ocp/App.java:[5,28] package io.kubernetes.client does not exist
[ERROR] /mnt/d/junit/test/new/DemoTest/src/main/java/ocp/App.java:[6,33] package io.kubernetes.client.apis does not exist
[ERROR] /mnt/d/junit/test/new/DemoTest/src/main/java/ocp/App.java:[7,35] package io.kubernetes.client.models does not exist
[ERROR] /mnt/d/junit/test/new/DemoTest/src/main/java/ocp/App.java:[8,35] package io.kubernetes.client.models does not exist
[ERROR] /mnt/d/junit/test/new/DemoTest/src/main/java/ocp/App.java:[9,33] package io.kubernetes.client.util does not exist
[ERROR] /mnt/d/junit/test/new/DemoTest/src/main/java/ocp/App.java:[14,64] cannot find symbol
symbol: class ApiException
location: class ocp.App
[ERROR] /mnt/d/junit/test/new/DemoTest/src/main/java/ocp/App.java:[15,9] cannot find symbol
symbol: class ApiClient
location: class ocp.App
[ERROR] /mnt/d/junit/test/new/DemoTest/src/main/java/ocp/App.java:[15,28] cannot find symbol
symbol: variable Config
location: class ocp.App
请指出我遗漏了什么。
您不需要“pom”类型的依赖项 - 只需删除此行并尝试重建。
Maven 将尝试将依赖项(通过从集中存储库下载)“引入”到您的类路径中。在 java 中,像这样的依赖项是 jar。
所以这就是我认为的问题
此外,compile
无论如何都是默认范围,因此您可以省略它。
此外,project.version 指出您产品的版本,可能您需要特定版本的依赖项,例如 14.0.1(maven central 中可用的最后一个版本)
可能是巧合,你自己的项目也有完全相同的版本(14.0.1)。我看不出这样做的理由,您可以使用与 k8s 无关的您自己的版本开始您的项目 java 客户端版本)
例如,您可以使用 1.0-SNAPSHOT
依赖项定义的示例(如您在问题标题中所述的 k8s java 客户端)是:
<dependency>
<groupId>io.kubernetes</groupId>
<artifactId>client-java-api</artifactId>
<version>14.0.1</version>
</dependency>
所提供的 pom 中的其余依赖项也应该以类似的方式修复。
我是 maven 和 junit 的新手。我试图构建一个 Maven 项目,我想通过它尝试 kubernetes 官方 java 客户端 api 示例。编译 pom.xml 文件时遇到错误。我正在尝试使用命令行 运行 Maven 项目。为了编译 pom.xml 文件,我使用了“mvn clean package install”
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>ocp</groupId>
<artifactId>DemoTest</artifactId>
<version>14.0.1</version>
<packaging>jar</packaging>
<properties>
<java.version>1.8</java.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven-plugin-version>1.0.0</maven-plugin-version>
<exec-maven-plugin.version>1.6.0</exec-maven-plugin.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<prerequisites>
<maven>2.2.0</maven>
</prerequisites>
<dependencies>
<dependency>
<groupId>io.kubernetes</groupId>
<artifactId>client-java-api</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
<type>pom</type>
</dependency>
<dependency>
<groupId>io.kubernetes</groupId>
<artifactId>client-java</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
<type>pom</type>
</dependency>
<dependency>
<groupId>io.kubernetes</groupId>
<artifactId>client-java-proto</artifactId>
<version>14.0.0</version>
<scope>compile</scope>
<type>pom</type>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M5</version>
</plugin>
</plugins>
</build>
</project>
错误:-
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /mnt/d/junit/test/new/DemoTest/src/main/java/ocp/App.java:[3,28] package io.kubernetes.client does not exist
[ERROR] /mnt/d/junit/test/new/DemoTest/src/main/java/ocp/App.java:[4,28] package io.kubernetes.client does not exist
[ERROR] /mnt/d/junit/test/new/DemoTest/src/main/java/ocp/App.java:[5,28] package io.kubernetes.client does not exist
[ERROR] /mnt/d/junit/test/new/DemoTest/src/main/java/ocp/App.java:[6,33] package io.kubernetes.client.apis does not exist
[ERROR] /mnt/d/junit/test/new/DemoTest/src/main/java/ocp/App.java:[7,35] package io.kubernetes.client.models does not exist
[ERROR] /mnt/d/junit/test/new/DemoTest/src/main/java/ocp/App.java:[8,35] package io.kubernetes.client.models does not exist
[ERROR] /mnt/d/junit/test/new/DemoTest/src/main/java/ocp/App.java:[9,33] package io.kubernetes.client.util does not exist
[ERROR] /mnt/d/junit/test/new/DemoTest/src/main/java/ocp/App.java:[14,64] cannot find symbol
symbol: class ApiException
location: class ocp.App
[ERROR] /mnt/d/junit/test/new/DemoTest/src/main/java/ocp/App.java:[15,9] cannot find symbol
symbol: class ApiClient
location: class ocp.App
[ERROR] /mnt/d/junit/test/new/DemoTest/src/main/java/ocp/App.java:[15,28] cannot find symbol
symbol: variable Config
location: class ocp.App
请指出我遗漏了什么。
您不需要“pom”类型的依赖项 - 只需删除此行并尝试重建。
Maven 将尝试将依赖项(通过从集中存储库下载)“引入”到您的类路径中。在 java 中,像这样的依赖项是 jar。 所以这就是我认为的问题
此外,compile
无论如何都是默认范围,因此您可以省略它。
此外,project.version 指出您产品的版本,可能您需要特定版本的依赖项,例如 14.0.1(maven central 中可用的最后一个版本)
可能是巧合,你自己的项目也有完全相同的版本(14.0.1)。我看不出这样做的理由,您可以使用与 k8s 无关的您自己的版本开始您的项目 java 客户端版本)
例如,您可以使用 1.0-SNAPSHOT
依赖项定义的示例(如您在问题标题中所述的 k8s java 客户端)是:
<dependency>
<groupId>io.kubernetes</groupId>
<artifactId>client-java-api</artifactId>
<version>14.0.1</version>
</dependency>
所提供的 pom 中的其余依赖项也应该以类似的方式修复。