2017-05-18 2 views
3

Ich habe eine nicht unterstützte major.minor Version 52.0, wenn kotlin maven plugin verwenden.Wie kann ich Kotlin-Maven-Plugin unter jdk1.7 verwenden?

das Detail:

5721/25818 KB 19242/25818 KB 25693/25818 KB Downloaded: http://maven.aliyun.com/nexus/content/groups/public/org/jetbrains/kotlin/kotlin-compiler/1.1.2-2/kotlin-compiler-1.1.2-2.jar (25818 KB at 113.2 KB/sec) 
[WARNING] Error injecting: org.jetbrains.kotlin.maven.K2JVMCompileMojo 
java.lang.TypeNotPresentException: Type org.jetbrains.kotlin.maven.K2JVMCompileMojo not present 
    at org.eclipse.sisu.space.URLClassSpace.loadClass(URLClassSpace.java:115) 
    at org.eclipse.sisu.space.NamedClass.load(NamedClass.java:46) 
    at org.eclipse.sisu.space.AbstractDeferredClass.get(AbstractDeferredClass.java:48) 
    at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:86) 
    at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:54) 
    at com.google.inject.internal.ProviderInternalFactory$1.call(ProviderInternalFactory.java:70) 
    at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:113) 
    at org.eclipse.sisu.bean.BeanScheduler$Activator.onProvision(BeanScheduler.java:176) 
    at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:122) 
    at com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:68) 
    at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:68) 
    at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:46) 
    at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1009) 
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1059) 
    at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1005) 
    at com.google.inject.Scopes$1$1.get(Scopes.java:59) 
    at org.eclipse.sisu.inject.LazyBeanEntry.getValue(LazyBeanEntry.java:82) 
    at org.eclipse.sisu.plexus.LazyPlexusBean.getValue(LazyPlexusBean.java:51) 
    at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:263) 
    at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:255) 
    at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(DefaultMavenPluginManager.java:464) 
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:119) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80) 
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) 
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120) 
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:355) 
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155) 
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584) 
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:216) 
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:160) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) 
    at org.codehaus.classworlds.Launcher.main(Launcher.java:47) 
Caused by: java.lang.UnsupportedClassVersionError: org/jetbrains/kotlin/maven/K2JVMCompileMojo : Unsupported major.minor version 52.0 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) 
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf(ClassRealm.java:401) 
    at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:42) 
    at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271) 
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247) 
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239) 
    at org.eclipse.sisu.space.URLClassSpace.loadClass(URLClassSpace.java:107) 
    ... 42 more 

Ich verwende maven3.2.5, jdk1.7, kotlin1.1.2-2 und IntelliJ IDEA 2017.01.03. Die Kotlin configs in pom werden von Idee erzeugt, umfassen:

<plugin> 
     <groupId>org.jetbrains.kotlin</groupId> 
     <artifactId>kotlin-maven-plugin</artifactId> 
     <version>${kotlin.version}</version> 
     <executions> 
      <execution> 
       <id>compile</id> 
       <phase>compile</phase> 
       <goals> 
        <goal>compile</goal> 
       </goals> 
      </execution> 
      <execution> 
       <id>test-compile</id> 
       <phase>test-compile</phase> 
       <goals> 
        <goal>test-compile</goal> 
       </goals> 
      </execution> 
     </executions> 
    </plugin> 

und

<dependency> 
    <groupId>org.jetbrains.kotlin</groupId> 
    <artifactId>kotlin-stdlib-jre7</artifactId> 
    <version>${kotlin.version}</version> 
</dependency> 
<dependency> 
    <groupId>org.jetbrains.kotlin</groupId> 
    <artifactId>kotlin-test</artifactId> 
    <version>${kotlin.version}</version> 
    <scope>test</scope> 
</dependency> 

Habe ich etwas falsch gemacht?

ps, ​​Ich habe gerade Kotlin-Maven-Plugin-1.1.2-2.jar überprüft, und stellen Sie sicher, dass es mit jdk1.8 kompiliert ist. Also, was kann ich tun, um es in jdk7 zu verwenden?

+0

Können Sie auch versuchen, die kotlin-stdlib-Bibliothek hinzuzufügen? Ich denke, kotlin-stdlib-jre7 hängt davon ab. – Mario

Antwort

2

Also ändere ich das Projekt sdk zu jdk1.8, und dann maven Compiler-Plugin auf 1.7.

Es scheint wie der einzige Weg.

+0

Ja, das ist richtig. – yole

Verwandte Themen