“Exception in thread ‘main’ java.lang.IllegalArgumentException in REST API”

huangapple 未分类评论47阅读模式
英文:

Exception in thread "main" java.lang.IllegalArgumentException in REST API

问题

对不起,我无法执行代码部分的翻译。如果您有任何其他需要翻译的文本或问题,请随时提出,我将尽力帮助您。

英文:

So I am quite new to REST API development and for my app, I used spring boot initializer. I was getting an error with hibernate being unable to access my oracle database and I later found that I had mistakenly added a derby dependency which was somehow clashing with the DB access. After I took it out and what is related to it I got this error. Am I missing something important here?

Also, I'd like to apologize for how long this is but I'm truly desperate

Here is my error

Exception in thread "main" java.lang.IllegalArgumentException: Cannot instantiate interface org.springframework.context.ApplicationContextInitializer : org.springframework.boot.devtools.restart.RestartScopeInitializer
	at org.springframework.boot.SpringApplication.createSpringFactoriesInstances(SpringApplication.java:445)
	at org.springframework.boot.SpringApplication.getSpringFactoriesInstances(SpringApplication.java:427)
	at org.springframework.boot.SpringApplication.getSpringFactoriesInstances(SpringApplication.java:420)
	at org.springframework.boot.SpringApplication.<init>(SpringApplication.java:272)
	at org.springframework.boot.SpringApplication.<init>(SpringApplication.java:253)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)
	at com.example.TNDservice.TnDserviceApplication.main(TnDserviceApplication.java:17)
Caused by: java.lang.NoClassDefFoundError: org/springframework/core/KotlinDetector
	at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:187)
	at org.springframework.boot.SpringApplication.createSpringFactoriesInstances(SpringApplication.java:441)
	... 7 more
Caused by: java.lang.ClassNotFoundException: org.springframework.core.KotlinDetector
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 9 more

this is my 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.2.5.RELEASE</version>
		<relativePath/>
	</parent>
	<groupId>com.example</groupId>
	<artifactId>TNDservice</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>TNDservice</name>

	<properties>
		<java.version>1.8</java.version>
		<springframework.version>4.3.0.RELEASE</springframework.version>
		<jackson.library>2.9.8</jackson.library>
		<maven.compiler.source>1.8</maven.compiler.source>
		<maven.compiler.target>1.8</maven.compiler.target>
		<hibernate.version>4.3.6.Final</hibernate.version>
		<jstl-version>1.2</jstl-version>
	</properties>

	<dependencies>

		<!--		Springboot dependancies -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-jdbc</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-jpa</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-jdbc</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web-services</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-webflux</artifactId>
		</dependency>
		<dependency>
			<groupId>commons-configuration</groupId>
			<artifactId>commons-configuration</artifactId>
			<version>1.9</version>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
			<scope>runtime</scope>
			<optional>true</optional>
		</dependency>

		<!--spring-->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</artifactId>
			<version>${springframework.version}</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-web</artifactId>
			<version>${springframework.version}</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>${springframework.version}</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-tx</artifactId>
			<version>${springframework.version}</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-orm</artifactId>
			<version>${springframework.version}</version>
		</dependency>


		<!--hibernate-->
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-core</artifactId>
			<version>${hibernate.version}</version>
		</dependency>


		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-entitymanager</artifactId>
			<version>${hibernate.version}</version>
		</dependency>

		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-annotations</artifactId>
			<version>3.5.6-Final</version>
		</dependency>

		<!-- jsr303 validation -->
		<dependency>
			<groupId>javax.validation</groupId>
			<artifactId>validation-api</artifactId>
			<version>1.1.0.Final</version>
		</dependency>
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-validator</artifactId>
			<version>5.1.3.Final</version>
		</dependency>


		<!--Oracle sql -->
		<dependency>
			<groupId>com.oracle.ojdbc</groupId>
			<artifactId>ojdbc10</artifactId>
			<scope>runtime</scope>
		</dependency>

		<!--servlet-->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>3.1.0</version>
		</dependency>

		<!--jackson-->
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
			<version>${jackson.library}</version>
		</dependency>

		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-annotations</artifactId>
			<version>${jackson.library}</version>
		</dependency>

		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-core</artifactId>
			<version>${jackson.library}</version>
		</dependency>

		<dependency>
			<groupId>com.fasterxml.jackson.datatype</groupId>
			<artifactId>jackson-datatype-jsr310</artifactId>
			<version>${jackson.library}</version>
		</dependency>


		<!--lambok-->
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<version>1.18.4</version>
			<scope>provided</scope>
		</dependency>


		<!--junit-->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-core</artifactId>
			<version>5.4.12.Final</version>
		</dependency>


	</dependencies>

	<pluginRepositories>
		<pluginRepository>
			<id>icm</id>
			<name>Spring Framework Milestone Repository</name>
			<url>http://maven.icm.edu.pl/artifactory/repo</url>
		</pluginRepository>
	</pluginRepositories>

	<build>
		<finalName>RESTservice</finalName>

		<plugins>

			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.5.1</version>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>

			<plugin>
				<artifactId>maven-war-plugin</artifactId>
				<version>2.4</version>
				<configuration>
					<failOnMissingWebXml>false</failOnMissingWebXml>
				</configuration>
			</plugin>

		</plugins>

	</build>


</project>

this is my main class

@SpringBootApplication
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "con.example.TNDservice")
public class TnDserviceApplication {

	public static void main(String[] args) {

		SpringApplication.run(TnDserviceApplication.class, args);
	}

}

答案1

得分: 0

你的 spring-boot 版本是2.2.5,但 spring framework 版本是4.3.0。我认为对于这个 spring-boot 版本,默认的 spring framework 版本应该是5.x.x。你可以尝试更新 spring framework 版本以适配 spring-boot,或者使用 https://start.spring.io/ 生成包含所需版本的 pom 文件。这个链接可能也会有帮助:https://stackoverflow.com/questions/52734495/unresolvable-dependency-org-springframework-core-kotlindetector-iskotlinreflectp

英文:

Your spring-boot version is 2.2.5 but spring framework version is 4.3.0, I think by default spring framework version is 5.x.x for this spring-boot version, you could try updating spring framework version for the spring-boot or use https://start.spring.io/ to generate the pom with required versions. This might also help https://stackoverflow.com/questions/52734495/unresolvable-dependency-org-springframework-core-kotlindetector-iskotlinreflectp

答案2

得分: 0

你不应该在没有非常好的理由的情况下手动覆盖依赖版本。

Spring Boot 预定义的版本经过验证,能够很好地一起工作,但是你正在严重降级一些版本。

所以,你可能希望删除这些行:

<springframework.version>4.3.0.RELEASE</springframework.version>
<jackson.library>2.9.8</jackson.library>
<hibernate.version>4.3.6.Final</hibernate.version>
<jstl-version>1.2</jstl-version>
英文:

You shouldn't manually override the dependency versions without very good reason.

The ones predefined with Spring Boot are verified to work well together, but you are downgrading a couple of versions severely.

So, you might want to delete these lines:

    &lt;springframework.version&gt;4.3.0.RELEASE&lt;/springframework.version&gt;
    &lt;jackson.library&gt;2.9.8&lt;/jackson.library&gt;
    &lt;hibernate.version&gt;4.3.6.Final&lt;/hibernate.version&gt;
    &lt;jstl-version&gt;1.2&lt;/jstl-version&gt;

huangapple
  • 本文由 发表于 2020年4月7日 03:30:35
  • 转载请务必保留本文链接:https://java.coder-hub.com/61067523.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定