实际上我正在使用Kotlin开发Spring Boot v2应用程序.我在版本9中使用JDK.
添加依赖项后,spring-boot-starter-data-jpa我得到ClassNotFound错误:
引起:org.springframework.beans.factory.BeanCreationException:在类路径资源[org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]中定义名称为'entityManagerFactory'的bean创建错误:init方法的调用失败; 嵌套异常是java.lang.NoClassDefFoundError:javax/transaction/SystemException
我找到了一些针对该问题的文章,并在/ src/main/kotlin下添加module-info.java了以下内容:
module de.sample.backend {
// requires java.xml.bind;
requires javax.transaction.api;
// requires validation.api;
requires hibernate.jpa;
// requires hibernate.validator;
requires spring.beans;
requires spring.core;
requires spring.context;
requires spring.tx;
requires spring.web;
requires spring.webmvc;
requires spring.data.commons;
requires spring.data.jpa;
requires spring.boot;
requires spring.boot.autoconfigure;
// requires cache.api;
}
Run Code Online (Sandbox Code Playgroud)
但后来我会得到一个 Caused by: java.lang.ArrayIndexOutOfBoundsException: 32800
[错误]无法执行目标org.apache.maven.plugins:maven-compiler-plugin:3.7.0:在项目naehmeisterei-services上编译(default-compile):执行default-compile of goal org.apache.maven.plugins :maven-compiler-plugin:3.7.0:编译失败:32800 - > [帮助1] org.apache.maven.lifecycle.LifecycleExecutionException:无法执行目标org.apache.maven.plugins:maven-compiler-plugin:3.7 .0:项目编译(default-compile)naehmeisterei-services:执行default-compile of goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:编译失败:32800 at org.apache.maven. org.apache.maven.life.internal.MojoExecutor.execute中的org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154)中的lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213) MojoExecutor.java:146)org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProj ect(LifecycleModuleBuilder.java:81)org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter. java:128)org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:309)atg.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:194)org.apache.maven.DefaultMaven.execute(DefaultMaven) .java:107)org.apache.maven.cli.MavenCli.execute(MavenCli.java:955)org.apache.maven.cli.MavenCli.doMain(MavenCli.java:290)org.apache.maven. cli.MavenCli.main(MavenCli.java:194)位于jdk.internal.refut的内部jdk.internal.refut.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)的jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)中.在org.codehaus.plexus.classworlds.launcher.Launcher.la的java.lang.reflect.Method.invoke(Method.java:564)中委托MethodAethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)unchEnhanced(Launcher.java:289)org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)在org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)引起:org.apache.maven.plugin.PluginExecutionException:执行default-compile …