gpt4 book ai didi

java - Jetty运行时错误仅在intellij IDEA中

转载 作者:行者123 更新时间:2023-11-30 02:18:49 25 4
gpt4 key购买 nike

我有一个 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 没有问题。

最佳答案

代码是http://grepcode.com/file/repo1.maven.org/maven2/org.mortbay.jetty/maven-jetty-plugin/6.1.24/org/mortbay/jetty/plugin/Jetty6MavenConfiguration.java/#119

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]);

最后一行似乎给了你异常(exception)。另外,从堆栈跟踪中可以看出您在这里使用 Java 9+。

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

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

关于java - Jetty运行时错误仅在intellij IDEA中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47478861/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com