Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Jetty Annotation Timeout Reason

I am tying to run my web application with maven jetty plugin. But after some time at startup, it gives the error:

[INFO] Web defaults = org/eclipse/jetty/webapp/webdefault.xml [INFO] Web overrides =  none 2014-08-10 17:39:45.840:INFO:oejs.Server:main: jetty-9.2.2.v20140723 2014-08-10 17:40:54.961:WARN:oejw.WebAppContext:main: Failed startup of context o.e.j.m.p.JettyWebAppContext@1e2c8{/asd,file:/C:/dev/project/hope/target/asd-1.0/,STARTING}{C:\dev\project\hope\target\asd-1.0.war} java.lang.Exception: Timeout scanning annotations     at org.eclipse.jetty.annotations.AnnotationConfiguration.scanForAnnotations(AnnotationConfiguration.java:570)     at org.eclipse.jetty.annotations.AnnotationConfiguration.configure(AnnotationConfiguration.java:440)     at org.eclipse.jetty.webapp.WebAppContext.configure(WebAppContext.java:471)     at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1329)     at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:741)     at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:497)     at org.eclipse.jetty.maven.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:365)     at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)     at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)     at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)     at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61) 

I am using spring mvc with annotations and I think there is a problem about it.

When I try to run it over eclipse jetty plugin, it starts succesfully, but with maven plugin, it gives the error.

Any ideas?

like image 367
Neron Avatar asked Aug 10 '14 14:08

Neron


2 Answers

I've got the same error and to fix it, you should add to your start script (start.ini) the following:

-Dorg.eclipse.jetty.annotations.maxWait=120 

120 is for two minutes of annotation scanning in case that you need a higher value, just set it to the propper one.

like image 183
discolojr Avatar answered Sep 20 '22 17:09

discolojr


It is useless to scan all dependent jars, you can make the scanning pattern more restrictive to only match certain jars:

<plugin>   <groupId>org.eclipse.jetty</groupId>   <artifactId>jetty-maven-plugin</artifactId>   <version>9.2.8.v20150217</version>   <configuration>     <webAppConfig>       <contextPath>/</contextPath>       <webInfIncludeJarPattern>.*/foo-[^/]*\.jar$|.*/classes/.*</webInfIncludeJarPattern>     </webAppConfig>   </configuration> </plugin> 

See webInfIncludeJarPattern doc for more details: http://www.eclipse.org/jetty/documentation/9.4.x/jetty-maven-plugin.html#configuring-your-webapp

like image 21
Hover Ruan Avatar answered Sep 19 '22 17:09

Hover Ruan