嘗試通過 Kubernetes 集群部署我的 Web 應用程式,我收到此錯誤,導致我的 pod 無法運行。它因 BackOff 錯誤而失敗。當我運行“kubectl logs pod xxx”以嘗試了解有關該 pod 的更多資訊時,會填充以下內容:
2022-06-28 04:12:44.198 INFO 1 --- [ main] c.b.webconsole.WebconsoleApplication : Starting WebconsoleApplication v0.0.1-SNAPSHOT on webapp-deployment-66c555cd6b-8svtv with PID 1 (/app.jar started by root in /)
2022-06-28 04:12:44.200 INFO 1 --- [ main] c.b.webconsole.WebconsoleApplication : No active profile set, falling back to default profiles: default
2022-06-28 04:12:44.682 INFO 1 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.
2022-06-28 04:12:44.722 INFO 1 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 36ms. Found 11 JPA repository interfaces.
2022-06-28 04:12:45.195 INFO 1 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): xxxx (https)
2022-06-28 04:12:45.221 INFO 1 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2022-06-28 04:12:45.221 INFO 1 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.33]
2022-06-28 04:12:45.271 WARN 1 --- [ main] o.a.tomcat.util.scan.StandardJarScanner : Failed to scan [jar:file:/app.jar!/BOOT-INF/lib/spring-webmvc-5.2.5.RELEASE.jar!/] from classloader hierarchy
這引發了一堆 IOExceptions,其中 IntelliJ 無法打開根 Jar 檔案:
- spring-webmvc-5.2.5.RELEASE.jar
- jstl-1.2.jar
等等所以我想知道為什么會這樣?
這是我的 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>2.7.0</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<groupId>com.blackbook</groupId>
<artifactId>webconsole</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>webconsole</name>
<description>Web console for EMM guide BlackBook</description>
<packaging>jar</packaging>
<properties>
<java.version>18.0.1.1</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-test -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>2.7.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.1.0.Final</version>
</dependency>
<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.tomcat/tomcat-jasper -->
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jasper</artifactId>
<version>9.0.33</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet/jstl -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/taglibs/standard -->
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.google.zxing/core -->
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.4.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.google.zxing/javase -->
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.4.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.json/json -->
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20190722</version>
</dependency>
<!-- Android Management API dependency -->
<dependency>
<groupId>com.google.apis</groupId>
<artifactId>google-api-services-androidmanagement</artifactId>
<version>v1-rev20200221-1.30.9</version>
</dependency>
<!-- Google Play EMM API dependency for AdminWebToken-->
<dependency>
<groupId>com.google.apis</groupId>
<artifactId>google-api-services-androidenterprise</artifactId>
<version>v1-rev20200801-1.30.10</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.json/json -->
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20190722</version>
</dependency>
<!-- When making changes, server will automatically perform the restart -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.google.api-client</groupId>
<artifactId>google-api-client</artifactId>
<version>1.30.10</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
這是我的 Dockerfile:
# For Java 18,
FROM openjdk:18
COPY target/webconsole-0.0.1-SNAPSHOT.jar app.jar
EXPOSE xxxx
ENTRYPOINT ["java","-jar","/app.jar"]
不確定我的 Java 版本是否有問題,想知道是否有人使用 openjdk18 遇到過這個問題?
uj5u.com熱心網友回復:
我需要做的就是針對較低的 jdk!
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/498137.html
標籤:弹簧靴 行家 Kubernetes 罐
