admin管理员组文章数量:1356377
I have deployed a spring boot application in Azure kubernetes. The application uses maven for build and works normally on my local system. But when I deploy it in AKS using github action, the pod goes into error. The log shows following error:
Exception in thread "main" java.lang.ClassNotFoundException: package com.LearnBS.JavaBS.JavaBsApplication at java.base/java.URLClassLoader.findClass(URLClassLoader.java:445) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:592) at .springframework.boot.loader.protocol.jar.JarUrlClassLoader.loadClass(JarUrlClassLoader.java:107 at .springframework.boot.loader.launch.LaunchedClassLoader.loadClass(LaunchedClassLoader.java:91) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:467) at .springframework.boot.loader.launch.Launcher.launch(Launcher.java:99) at .springframework.boot.loader.launch.Launcher.launch(Launcher.java:64) at .springframework.boot.loader.launch.JarLauncher.main(JarLauncher.java:40)
I looked at solutions provided for similar situation, but none of that is working.
Here is my POM.XML
4.0.0 .springframework.boot spring-boot-starter-parent 3.3.4 com.LearnBS JavaBS 0.0.1-SNAPSHOT
<name>JavaBS</name>
<description>Demo project for Spring Boot</description>
<url/>
<licenses>
<license/>
</licenses>
<developers>
<developer/>
</developers>
<scm>
<connection/>
<developerConnection/>
<tag/>
<url/>
</scm>
<properties>
<java.version>17</java.version>
</properties>
<dependencies>
<dependency>
<groupId>.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- .mongodb/mongodb-driver-sync -->
<dependency>
<groupId>.mongodb</groupId>
<artifactId>mongodb-driver-sync</artifactId>
<version>5.3.1</version>
</dependency>
<!-- .mongodb/mongodb-driver-core -->
<dependency>
<groupId>.mongodb</groupId>
<artifactId>mongodb-driver-core</artifactId>
<version>5.3.1</version>
</dependency>
<!-- .springframework.boot/spring-boot-starter-data-mongodb -->
<dependency>
<groupId>.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
<version>3.4.2</version>
</dependency>
<dependency>
<groupId>.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.2</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>package com.LearnBS.JavaBS.JavaBsApplication</mainClass>
</configuration>
<!--<configuration> -->
<!-- <mainClass>package com.LearnBS.JavaBS.JavaBsApplication</mainClass>-->
<!--</configuration>-->
</plugin>
</plugins>
</build>
And here is the workflow file:
name: Maven Package
on: push: branches: [ master ] jobs: build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
id-token: write
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'adopt'
- name: Build with Maven
run: mvn clean install spring-boot:repackage
- name: Docker Login
uses: azure/docker-login@v1
with:
login-server: aksfirstregistry.azurecr.io
username: xxxxxxxxxxxxx
password: bxxxxxxxxxxxxxxxxx
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and Push to ACR
uses: docker/build-push-action@v6
with:
context: .
push: true
tags: aksfirstregistry.azurecr.io/g********:latest
file: Dockerfile
# Logs in with your Azure credentials
- name: Log in to Azure
uses: azure/login@v1
with:
creds: |
{
"clientId": xxxxxxxxxxxxxx,
"clientSecret": xxxxxxxxxxxx,
"tenantId": xxxxxxxxxxxx,
"subscriptionId": xxxxxxxxxxxx;
}
- name: Set AKS context
id: set-context
uses: azure/aks-set-context@v3
with:
resource-group: xxxxxxxxx
cluster-name: xxxxxxxxxxx
- name: Setup kubectl
id: install-kubectl
uses: azure/setup-kubectl@v3
- name: Deploy to AKS
id: deploy-aks
uses: Azure/k8s-deploy@v4
with:
namespace: 'default'
manifests: |
gitmongodb.yaml
images: aksfirstregistry.azurecr.io/gxxxxx:latest
pull-images: false
Any help is highly appreciated!
本文标签:
版权声明:本文标题:Spring boot application using maven build failing in Azure AKS- main "ClassNotFoundException" - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1744060186a2583987.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论