如何通过 HTTPS 使用 springdoc-openapi-maven-plugin
How to use springdoc-openapi-maven-plugin with HTTPS
我有一个 spring 项目,其中所有端点都是 运行ning https,当尝试 运行 mvn verify -Dspring.application.admin.enabled=true -Dspring-boot.run.profiles=dev
时会导致以下错误。有没有办法指定证书路径?或者仅使此端点成为 http 而不是具有 spring 安全性的 https 的方法。
错误:
[ERROR] An error has occurred
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path
building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find
valid certification path to requested target
Pom.xml
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.3.0.RELEASE</version>
<executions>
<execution>
<id>pre-integration-test</id>
<goals>
<goal>start</goal>
</goals>
</execution>
<execution>
<id>post-integration-test</id>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-maven-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<id>integration-test</id>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<configuration>
<apiDocsUrl>https://localhost:8444/v3/api-docs</apiDocsUrl>
</configuration>
</plugin>
这与您本地的SSL配置有关。以下是一些提示:
确保您已将证书导入到您的 JDK 信任库。
JDK trustore 应该与您的 maven 使用的相同。
在您的 CN 上,确保您声明了 localhost。
当你运行maven命令不要忘记添加:
-Djavax.net.ssl.trustStore=/path/to/my-file.jks -Djavax.net.ssl.trustStore密码=my-pass
我有一个 spring 项目,其中所有端点都是 运行ning https,当尝试 运行 mvn verify -Dspring.application.admin.enabled=true -Dspring-boot.run.profiles=dev
时会导致以下错误。有没有办法指定证书路径?或者仅使此端点成为 http 而不是具有 spring 安全性的 https 的方法。
错误:
[ERROR] An error has occurred
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path
building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find
valid certification path to requested target
Pom.xml
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.3.0.RELEASE</version>
<executions>
<execution>
<id>pre-integration-test</id>
<goals>
<goal>start</goal>
</goals>
</execution>
<execution>
<id>post-integration-test</id>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-maven-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<id>integration-test</id>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<configuration>
<apiDocsUrl>https://localhost:8444/v3/api-docs</apiDocsUrl>
</configuration>
</plugin>
这与您本地的SSL配置有关。以下是一些提示:
确保您已将证书导入到您的 JDK 信任库。
JDK trustore 应该与您的 maven 使用的相同。
在您的 CN 上,确保您声明了 localhost。
当你运行maven命令不要忘记添加:
-Djavax.net.ssl.trustStore=/path/to/my-file.jks -Djavax.net.ssl.trustStore密码=my-pass