atlas-运行 无法启动 Jira,原因是 "Unsupported major.minor version 52.0"

atlas-run won't start Jira, cause of "Unsupported major.minor version 52.0"

我正在使用 Spring 开发 Jira 插件。现在我只想使用 Jira 版本 6.1.7(工作目录中的atlas-run)启动插件,但这是不可能的。我正在使用 AMPS 版本 6.2.1,如果我尝试启动 server/Jira,我会收到以下错误。 atlas-run 目前正在使用 JDK 1.7,所以我在 Eclipse 中使用并且合规级别设置为 1.7。如果我将命令 atlas-运行 更改为 JDK 1.8 版(Eclipse 中的 JDK 1.7 版),我会收到许多其他关于插件无法加载和 Jira 被锁定的错误.

所以我的问题是:

  1. 你知道提到的错误(异常跟踪)吗?你知道如何解决这个问题吗?

  2. 我是否应该对所有开发实例(Jira 服务器和 Eclipse?)使用 JDK1.8?

  3. 如果生产服务器只使用JDK 1.7,我该怎么办?

    [WARNING] Error injecting: com.atlassian.maven.plugins.amps.UpdateMojo java.lang.TypeNotPresentException: Type com.atlassian.maven.plugins.amps.UpdateMojo 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:55) at com.google.inject.internal.ProviderInternalFactory.call(ProviderInternalFactory.java:70) at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:100) at org.eclipse.sisu.plexus.PlexusLifecycleManager.onProvision(PlexusLifecycleManager.java:133) at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:109) at com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:55) at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:68) at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:47) at com.google.inject.internal.InjectorImpl.call(InjectorImpl.java:997) at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1047) at com.google.inject.internal.InjectorImpl.get(InjectorImpl.java:993) at com.google.inject.Scopes.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:260) at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:252) at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(DefaultMavenPluginManager.java:462) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:120) 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:108) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:76) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:116) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:361) 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:213) at org.apache.maven.cli.MavenCli.main(MavenCli.java:157) 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) Caused by: java.lang.UnsupportedClassVersionError: com/atlassian/maven/plugins/amps/UpdateMojo : 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.access0(URLClassLoader.java:71) at java.net.URLClassLoader.run(URLClassLoader.java:361) at java.net.URLClassLoader.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:389) at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:42) at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:259) at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:235) at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:227) at org.eclipse.sisu.space.URLClassSpace.loadClass(URLClassSpace.java:107)

我已经经历过同样的情况。以下是答案:

  1. 这个错误是因为最新版本的JIRA和SDK只能用Java8运行。如果你在使用Java8的时候出现一些编译错误,所以不是同一个问题。为此,请检查您的 IDE 是否指向嵌入在 Atlassian SDK 中的 Maven 安装。
  2. 是的。
  3. 自 JIRA v6.3 起,Java 7 和 8 均受支持。 JIRA 7之后,只支持Java8。我所做的是在我的开发环境中使用 Java 8,因为我想支持 7 之前的 JIRA 版本,所以我在打包插件时使用 Java 7 的目标级别。这意味着我使用 Java 8 进行编译,但只使用 Java 7 语法以避免不兼容。您可以在 IDE.
  4. 上进行配置

希望对您有所帮助!