![](/img/trans.png)
[英]java.lang.NoClassDefFoundError: org/apache/http/client/HttpClient
[英]SpringBoot 3 with Spring Cloud Vault 3.1.1 Runtime Error java.lang.NoClassDefFoundError: org/apache/hc/client5/http/classic/HttpClient
spring.config.import: vault:// 設置時,Spring-boot 3 中的應用啟動失敗。 出現以下錯誤:
16:54:21.649 [restartedMain] ERROR org.springframework.boot.SpringApplication - Application run failed
java.lang.NoClassDefFoundError: org/apache/hc/client5/http/classic/HttpClient
描述:
環境狀態:
JAVA_HOME: /Users/USER/Library/jdk-19.0.1.jdk/Contents/Home
Java 版本:
❯ java --version
openjdk 19.0.1 2022-10-
OpenJDK Runtime Environment (build 19.0.1+10
OpenJDK 64-Bit Server VM (build 19.0.1+10-21, mixed mode, sharing)
應用程序.yml:
spring:
config:
import: vault://
spring.cloud.vault:
enabled: true
application-name: APP
host: ${VAULT_HOST}
port: 8200
scheme: https
namespace: admin
fail-fast: true
config:
lifecycle:
enabled: true
min-renewal: 10s
expiry-threshold: 1m
authentication: APPROLE
app-role:
role-id: ${VAULT_ROLE_ID}
secret-id: ${VAULT_SECRET_ID}
role: ${VAULT_ROLE}
app-role-path: approle
pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.0.0</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example.newSpring</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>19</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-vault-config</artifactId>
<version>3.1.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.projectreactor</groupId>
<artifactId>reactor-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
筆記
您的應用程序混合了不兼容的版本,因為對 Apache HttpComponents 客戶端 4.x 的支持已在 Spring Framework(和一般的 Spring 項目)中刪除。
請使用 4.0.0+ 版本spring-cloud-starter-vault-config
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.