発生している事象
Gradleにて、SpringBootもmultipurojectを開発しています。
その際、以下のWeb Serviceにてアプリケーション自体の実行や、テストクラスにてテストを実行すると、以下のエラーが発生し、実行ができません。
エラーが発生しているのは、実行対象クラスとは別のクラスです。
ご対応方法などありましたら、ご教示いただけますと幸いです。
java
1 2 . ____ _ __ _ _ 3 /\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ 4( ( )\___ | '_ | '_| | '_ / _` | \ \ \ \ 5 \/ ___)| |_)| | | | | || (_| | ) ) ) ) 6 ' |____| .__|_| |_|_| |_\__, | / / / / 7 =========|_|==============|___/=/_/_/_/ 8 :: Spring Boot :: (v2.1.9.RELEASE) 9// springの実行 PCの基本情報が乗っているため、削除しています。 102020-05-14 20:08:38.282 INFO 35581 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data repositories in DEFAULT mode. 112020-05-14 20:08:38.309 WARN 35581 --- [ main] .RepositoryConfigurationExtensionSupport : JPA - Could not load type api.repository.MyDestinationClass using class loader jdk.internal.loader.ClassLoaders$AppClassLoader@55054057. 12 13java.lang.UnsupportedClassVersionError: Preview features are not enabled for api/repository/MyDestinationClass (class file version 56.65535). Try running with '--enable-preview' 14 at java.base/java.lang.ClassLoader.defineClass1(Native Method) ~[na:na] 15 at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016) ~[na:na] 16 at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151) ~[na:na] 17 at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:802) ~[na:na] 18 at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:700) ~[na:na] 19 at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:623) ~[na:na] 20 at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) ~[na:na] 21 at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[na:na] 22 at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[na:na] 23 at java.base/java.lang.Class.forName0(Native Method) ~[na:na] 24 at java.base/java.lang.Class.forName(Class.java:415) ~[na:na] 25 at org.springframework.util.ClassUtils.forName(ClassUtils.java:276) ~[spring-core-5.1.10.RELEASE.jar:5.1.10.RELEASE] 26 at org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport.loadRepositoryInterface(RepositoryConfigurationExtensionSupport.java:404) ~[spring-data-commons-2.1.11.RELEASE.jar:2.1.11.RELEASE] 27 at org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport.getRepositoryConfigurations(RepositoryConfigurationExtensionSupport.java:91) ~[spring-data-commons-2.1.11.RELEASE.jar:2.1.11.RELEASE] 28 at org.springframework.data.repository.config.RepositoryConfigurationDelegate.registerRepositoriesIn(RepositoryConfigurationDelegate.java:145) ~[spring-data-commons-2.1.11.RELEASE.jar:2.1.11.RELEASE] 29 at org.springframework.data.repository.config.RepositoryBeanDefinitionRegistrarSupport.registerBeanDefinitions(RepositoryBeanDefinitionRegistrarSupport.java:85) ~[spring-data-commons-2.1.11.RELEASE.jar:2.1.11.RELEASE] 30 at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.lambda$loadBeanDefinitionsFromRegistrars$1(ConfigurationClassBeanDefinitionReader.java:364) ~[spring-context-5.1.10.RELEASE.jar:5.1.10.RELEASE] 31 at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:684) ~[na:na] 32 at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsFromRegistrars(ConfigurationClassBeanDefinitionReader.java:363) ~[spring-context-5.1.10.RELEASE.jar:5.1.10.RELEASE] 33 at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:145) ~[spring-context-5.1.10.RELEASE.jar:5.1.10.RELEASE] 34 at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:117) ~[spring-context-5.1.10.RELEASE.jar:5.1.10.RELEASE] 35 at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:327) ~[spring-context-5.1.10.RELEASE.jar:5.1.10.RELEASE] 36 at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:232) ~[spring-context-5.1.10.RELEASE.jar:5.1.10.RELEASE] 37 at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:275) ~[spring-context-5.1.10.RELEASE.jar:5.1.10.RELEASE] 38 at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:95) ~[spring-context-5.1.10.RELEASE.jar:5.1.10.RELEASE] 39 at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:705) ~[spring-context-5.1.10.RELEASE.jar:5.1.10.RELEASE] 40 at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:531) ~[spring-context-5.1.10.RELEASE.jar:5.1.10.RELEASE] 41 at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:744) ~[spring-boot-2.1.9.RELEASE.jar:2.1.9.RELEASE] 42 at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:391) ~[spring-boot-2.1.9.RELEASE.jar:2.1.9.RELEASE] 43 at org.springframework.boot.SpringApplication.run(SpringApplication.java:312) ~[spring-boot-2.1.9.RELEASE.jar:2.1.9.RELEASE] 44 at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:120) ~[spring-boot-test-2.1.9.RELEASE.jar:2.1.9.RELEASE] 45 46// 字数制限により中間省略 47 48 at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:99) ~[spring-test-5.1.10.RELEASE.jar:5.1.10.RELEASE] 49 at 50 at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) ~[junit-4.12.jar:4.12] 51 at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) ~[junit-4.12.jar:4.12] 52 at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) ~[junit-4.12.jar:4.12] 53 at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) ~[junit-4.12.jar:4.12] 54 at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) ~[junit-4.12.jar:4.12] 55 at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) ~[spring-test-5.1.10.RELEASE.jar:5.1.10.RELEASE] 56 at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) ~[spring-test-5.1.10.RELEASE.jar:5.1.10.RELEASE] 57 at org.junit.runners.ParentRunner.run(ParentRunner.java:363) ~[junit-4.12.jar:4.12] 58 at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) ~[spring-test-5.1.10.RELEASE.jar:5.1.10.RELEASE] 59 at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:89) ~[.cp/:na] 60 at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:41) ~[.cp/:na] 61 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:541) ~[.cp/:na] 62 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:763) ~[.cp/:na] 63 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:463) ~[.cp/:na] 64 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:209) ~[.cp/:na]
構成は以下の通りです
bash
1root-project 2 └ Api-Service 3 └ Web-Service 4#Web Serviceは、Api-serviceのライブラリを呼び出しているため、ApiServiceに依存しています
環境
Java 12 openJDK
Gradle 5.6.2
SpringBoot 2.1.9
試したこと
- ワークスペースの設定の確認(インストー済みのJDK -> openJDK12、コンパイラーレベルJava12)
- プロジェクトのリフレッシュ、再ビルド
- ワークスペースから、プロジェクトファイルを削除。再度インポート
調べたこと
- コンパイルしたクラスのJavaのversionと、ランタイム実行環境のJavaのversionが異なる模様でした。そのため、エラーの出ている対象クラスに対して、Javaのversionを調べました
- その結果、クラス自体は、java12でコンパイルされていますが、Eclipseで実行した際の実行環境は、Java10で実行されている、と予想しています。
code/dir $ javap -v destinaiton.class | grep "major version" major version: 56 code/dir $
あなたの回答
tips
プレビュー