2017-11-24 6 views
1

私はmavenプロジェクトを持っています。そのモジュールの1つは、私がjetty(jetty:run)で始めることを試みる戦争モジュールです。 私はNetbeansを使用していますが、すべて動作していますが、IntelliJ IDEAでは奇妙なエラーが発生しました。intelijj IDEAでのJettyランタイムエラーのみ

[ERROR] Failed startup of context [email protected]{/,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) 

これはサーバーが動作しているように見えますが、Webページを開始するとHTTP 503サービスが利用できなくなります。

誰でも私にこのエラーが現れている理由を伝えてもらえますか、なぜNetbeansではjettyを実行するのに問題はありませんか。

+3

ただの傍注:桟橋6は非常に古いバージョンです。あなたは最近のものを試してみませんか? –

+0

IDE間で異なるJavaバージョンを使用している可能性があります – Hurda

+0

エラーは 'parseAnnotations'にありました。問題の可能性があると思われるアノテーションをいくつか共有できますか? –

答えて

2

コードが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]); 

最後の行はあなたに例外を与えるように見えるラインです。また、スタックトレースから、ここでJava 9+を使用していることがわかります。

Java 9では、バージョンのフォーマットが変更されました。旧フォーマットでは「1.9」ではなく「9」です。 Jetty 6のコードはこのことを知らず、ドット付きの古いフォーマットを想定しています(期待通りではなくversionという配列に1つの要素しかないので)。

おそらく、Netbeansでは、おそらく@Hurdaが想定しているように、JDK 8以下を使用します。

関連する問題