Java Jetty运行时错误仅在IntelijIDEA中出现

Java Jetty运行时错误仅在IntelijIDEA中出现,java,maven,embedded-jetty,java-9,Java,Maven,Embedded Jetty,Java 9,我有一个maven项目。它的一个模块是war模块,我试着从jetty(jetty:run)开始。 当我使用Netbeans时,一切都正常,但在IntelliJ IDEA中,我遇到了一个奇怪的错误 [ERROR] Failed startup of context org.mortbay.jetty.plugin.Jetty6PluginWebAppContext@3709748f{/,file:/C:/Users/Gosia/Documents/jaxygen/jaxygen/jaxygen-a

我有一个maven项目。它的一个模块是war模块,我试着从jetty(jetty:run)开始。 当我使用Netbeans时,一切都正常,但在IntelliJ IDEA中,我遇到了一个奇怪的错误

[ERROR] Failed startup of context org.mortbay.jetty.plugin.Jetty6PluginWebAppContext@3709748f{/,file:/C:/Users/Gosia/Documents/jaxygen/jaxygen/jaxygen-api-sample/src/main/webapp/;file:/C:/Users/Gosia/Documents/jaxygen/jaxygen/jaxygen-apibrowser-style-simple/src/main/webapp/;jar:file:/C:/Users/Gosia/.m2/repository/org/jaxygen/jaxygen-apibrowser-style-simple/1.0.8-SNAPSHOT/jaxygen-apibrowser-style-simple-1.0.8-SNAPSHOT.war!/;}
java.lang.ArrayIndexOutOfBoundsException: 1
    at org.mortbay.jetty.plugin.Jetty6MavenConfiguration.parseAnnotations(Jetty6MavenConfiguration.java:119)
    at org.mortbay.jetty.plus.webapp.AbstractConfiguration.configure(AbstractConfiguration.java:119)
    at org.mortbay.jetty.webapp.WebXmlConfiguration.configureWebApp(WebXmlConfiguration.java:180)
    at org.mortbay.jetty.plus.webapp.AbstractConfiguration.configureWebApp(AbstractConfiguration.java:96)
    at org.mortbay.jetty.plus.webapp.Configuration.configureWebApp(Configuration.java:149)
    at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1231)
    at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:460)
    at org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6PluginWebAppContext.java:124)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at org.mortbay.jetty.plugin.AbstractJettyRunMojo.restartWebApp(AbstractJettyRunMojo.java:441)
    at org.mortbay.jetty.plugin.AbstractJettyRunMojo$1.filesChanged(AbstractJettyRunMojo.java:402)
    at org.mortbay.util.Scanner.reportBulkChanges(Scanner.java:486)
    at org.mortbay.util.Scanner.reportDifferences(Scanner.java:352)
    at org.mortbay.util.Scanner.scan(Scanner.java:280)
    at org.mortbay.util.Scanner$1.run(Scanner.java:232)
    at java.base/java.util.TimerThread.mainLoop(Timer.java:556)
    at java.base/java.util.TimerThread.run(Timer.java:506)
在这之后,它看起来像服务器正在工作,但当启动一个网页,我得到了HTTP 503服务不可用

有谁能告诉我为什么会出现这个错误,为什么在Netbeans中运行jetty没有问题。

代码是

最后一行似乎给了你一个例外。此外,从堆栈跟踪可以看出,您在这里使用了Java9+

在Java9中,版本格式发生了变化:现在它不再是旧格式中的“1.9”,而是“9”。Jetty 6代码不知道这一点,采用带点的旧格式并失败(因为
version
数组中只有一个元素,而不是预期的2)


也许,在Netbeans中,您使用JDK 8或更低版本,正如@Hurda所设想的那样。

只是旁注:Jetty 6是一个非常古老的版本。你没有试过最近的一个吗?你可能在不同的想法之间使用了不同的java版本。失败发生在
parseAnnotations
,你能分享一些你认为可能是问题的注释吗?据我所知,Jetty 9似乎对JDK 9进行了修复/更改。关于这个主题,他们的问题跟踪器中有几个问题。我记得上一次,我在Jetty项目中看到了一个跟踪器,用于将兼容Java9的更改向后移植到Jetty 9.3。我高度怀疑Jetty6是否也能兼容。我回答了一封回信。今天更新。(谢谢提醒。)
String v = System.getProperty("java.version");
String[] version = v.split("\\.");
if (version==null)
{
    Log.info("Unable to determine jvm version, annotations will not be supported");
    return;
}
int  major = Integer.parseInt(version[0]);
int minor = Integer.parseInt(version[1]);