Maven projesinde ClassNotFoundException sorunu
İş başvurumun bir parçası olarak bir projeyi tamamlamakla görevlendirildim. Şirket aşağıdaki gereksinimleri yüklemem için beni gönderdi:
- OpenJDK 1.8
- Maven 3.x
- Git 2.x
- MySQL 5.x.
Uygulamayı sunucu tarafından (java) çalıştırmaya çalışıyorum ve bu istisnayı atıyor (muhtemelen bir bağımlılık sorunu ama bulamıyorum):
2020-08-30 07: 34: 56.850 ERROR org.springframework.boot.SpringApplication: 858 - Uygulama çalıştırılamadı java.lang.NoClassDefFoundError: org.springframework.boot.autoconfigure.EnableAutoConfiguration adresinde org / springframework / boot / bind / RelaxedDataBinder. org.springframework de getExcludeAutoConfigurationsProperty org.springframework.boot.autoconfigure.EnableAutoConfigurationImportSelector.selectImports en org.springframework.boot.autoconfigure.EnableAutoConfigurationImportSelector.getExclusions de (EnableAutoConfigurationImportSelector.java:179) (EnableAutoConfigurationImportSelector.java:172) (EnableAutoConfigurationImportSelector.java:87) .context.annotation.ConfigurationClassParser$DefaultDeferredImportSelectorGroup.process(ConfigurationClassParser.java:892) at org.springframework.context.annotation.ConfigurationClassParser$Org.springframework.context.annotation.ConfigurationClassParser'da DeferredImportSelectorGrouping.getImports (ConfigurationClassParser.java:878)$DeferredImportSelectorGroupingHandler.processGroupImports(ConfigurationClassParser.java:804) at org.springframework.context.annotation.ConfigurationClassParser$Org.springframework.context.annotation.ConfigurationClassParser.parse adresinde (ConfigurationClassParser.java:185) org.springframework.context.annotation.Conframitions: Configuration.javafigSlassPprocessor.annotationConframework: Configuration.javaPostProcessor.annotation adresinde DeferredImportSelectorHandler.process (ConfigurationClassParser.java:774) org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors de .springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors de (ConfigurationClassPostProcessor.java:232) (PostProcessorRegistrationDelegate.java:275) (PostProcessorRegistrationDelegate .java: 95) org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors (AbstractApplicationContext.java:705) at org.springframework.context.support.AbstractApplicationContext.refresh (Abstrac tApplicationContext.java:531) org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh adresinde (ServletWebServerApplicationContext.java:142) org.springframework.boot.SpringApplication.refresh adresinde (SpringAppsplication.java:775) .boot.SpringApplication.refreshContext (SpringApplication.java:397), org.springframework.boot.SpringApplication.run (SpringApplication.java:316), org.springframework.boot.SpringApplication.run (SpringApplication.java:1260) at org. springframework.boot.SpringApplication.run (SpringApplication.java:1248), gr.publicsoft.springbootcrud.Application.main'de (Application.java:12) java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) adresinde java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) java.base / jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.mpase.java43). yansıtmak.Method.invoke (Method.java:566) at veya g.springframework.boot.devtools.restart.RestartLauncher.run (RestartLauncher.java:49) Neden olan: java.lang.ClassNotFoundException: org.springframework.boot.bind.RelaxedDataBinder, java.base / jdkilt.internal.loader.Buader.Buader. .loadClass (BuiltinClassLoader.java:581), java.base / jdk.internal.loader.ClassLoaders $ AppClassLoader.loadClass (ClassLoaders.java:178), java.base / java.lang.ClassLoader.loadClass (ClassLoader.java:522) ) ... 26 ortak çerçeve çıkarıldı
**Pom.xml(general in project)**
<?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 http://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.1.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>gr.publicsoft.springbootcrud</groupId>
<artifactId>spring-boot-crud</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<properties>
<java.version>1.8</java.version>
</properties>
<modules>
<module>springbootcrud-domain</module>
<module>springbootcrud-service</module>
<module>springbootcrud-webapp</module>
</modules>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
**Pom.xml(inside app folder)**
<?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 http://maven.apache.org/xsd/maven-
4.0.0.xsd">
<parent>
<artifactId>spring-boot-crud</artifactId>
<groupId>gr.publicsoft.springbootcrud</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>springbootcrud-webapp</artifactId>
<properties>
<java.version>1.8</java.version>
<finalName>${project.artifactId}-${project.version}</finalName> </properties> <profiles> <profile> <id>dev</id> <activation> <activeByDefault>true</activeByDefault> </activation> </profile> </profiles> <dependencies> <dependency> <groupId>gr.publicsoft.springbootcrud</groupId> <artifactId>springbootcrud-service</artifactId> <version>${project.parent.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-core</artifactId>
</dependency>
<dependency>
<groupId>eu.bitwalker</groupId>
<artifactId>UserAgentUtils</artifactId>
<version>1.21</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
<version>1.4.1.RELEASE</version>
</dependency>
</dependencies>
<build>
<finalName>${finalName}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
</plugin>
</plugins>
</build>
</project>
Yanıtlar
Aslında spring-boot-starter-parentiçerme spring-boot-autoconfigure, bakınhttps://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-parent/2.3.3.RELEASEiçin Yönetilen bağımlılıklar .
Bu sürümü özel olarak belirtirseniz (yani, iki farklı sürüm vardır), bir hata oluşabilir.