2017-11-24 24 views
1

나는 메이븐 프로젝트를 가지고 있습니다. 모듈 중 하나는 부두 (부두 : 실행)로 시작하려고하는 전쟁 모듈입니다. Netbeans를 사용할 때 모든 것이 작동하지만 IntelliJ IDEA에서 이상한 오류가 발생했습니다.IDEA에서의 부두 런타임 오류

[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) 

이 후 서버가 작동하는 것처럼 보이지만 웹 페이지를 시작할 때 HTTP 503 서비스를 사용할 수 없습니다.

누구든지 내게이 오류가 나타나는 이유와 Netbeans에서 부두를 돌리는 데 문제가없는 이유를 설명해 줄 수 있습니까?

+3

그냥 부두 : 부두 6 아주 고대 버전입니다. 최근에 한 번 해보지 않으셨습니까? –

+0

IDE 사이에 다른 자바 버전을 사용 중일 수도 있습니다. – 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 코드는 이것에 대해 알지 못하며 점으로 된 이전 형식을 가정하고 실패합니다 (예상되는 2 대신 version 배열에 하나의 요소 만 있기 때문에).

아마도 Netbeans에서는 @Hurda가 가정 할 때 JDK 8 이하를 사용합니다.