Search code examples
intellij-ideaglassfishjerseyintellij-14

Errors when making changes to webapp, then running it directly, instead of rebuilding the project first


I have a JAX-RS web app built using Intellij IDEA. I'm using Glassfish as the server. Unfortunately, I get the below errors after making some changes to a class, then running the app (Shift+F10) and making a call to a resource, even one that wasn't changed. If I Rebuild the project before running it, I don't get the below errors.

Question: Can we run the project directly, without the need to rebuild it after every damn small change ?

   [2014-11-24T15:33:23.772+0100] [glassfish 4.1] [WARNING] [] [javax.enterprise.system.container.web.com.sun.web.security] [tid: _ThreadID=29 _ThreadName=http-listener-1(4)] [timeMillis: 1416839603772] [levelValue: 900] [[
  Context path from ServletContext:  differs from path from bundle: /]]

[2014-11-24T15:33:23.952+0100] [glassfish 4.1] [INFO] [] [com.sun.jersey.api.core.servlet.WebAppResourceConfig] [tid: _ThreadID=29 _ThreadName=http-listener-1(4)] [timeMillis: 1416839603952] [levelValue: 800] [[
  Scanning for root resource and provider classes in the Web app resource paths:
  /WEB-INF/lib
  /WEB-INF/classes]]

[2014-11-24T15:33:26.359+0100] [glassfish 4.1] [INFO] [] [com.sun.jersey.api.core.ScanningResourceConfig] [tid: _ThreadID=29 _ThreadName=http-listener-1(4)] [timeMillis: 1416839606359] [levelValue: 800] [[
  Root resource classes found:
  class com.project.resource.TransactionsResource
  class com.project.resource.InvitesResource
  class com.project.resource.UsersResource]]

[2014-11-24T15:33:26.360+0100] [glassfish 4.1] [INFO] [] [com.sun.jersey.api.core.ScanningResourceConfig] [tid: _ThreadID=29 _ThreadName=http-listener-1(4)] [timeMillis: 1416839606360] [levelValue: 800] [[
  Provider classes found:
  class org.codehaus.jackson.jaxrs.JsonParseExceptionMapper
  class org.codehaus.jackson.jaxrs.JacksonJaxbJsonProvider
  class org.codehaus.jackson.jaxrs.JsonMappingExceptionMapper
  class org.codehaus.enunciate.modules.jersey.EnunciateJAXBContextResolver
  class org.codehaus.jackson.jaxrs.JacksonJsonProvider]]

[2014-11-24T15:33:26.528+0100] [glassfish 4.1] [INFO] [] [com.sun.jersey.server.impl.cdi.CDIComponentProviderFactoryInitializer] [tid: _ThreadID=29 _ThreadName=http-listener-1(4)] [timeMillis: 1416839606528] [levelValue: 800] [[
  CDI support is enabled]]

[2014-11-24T15:33:26.540+0100] [glassfish 4.1] [INFO] [] [org.codehaus.enunciate.modules.jersey.EnunciateJerseyServletContainer] [tid: _ThreadID=29 _ThreadName=http-listener-1(4)] [timeMillis: 1416839606540] [levelValue: 800] [[
  org.codehaus.enunciate.modules.amf.JAXRSProvider not found.]]

[2014-11-24T15:33:26.561+0100] [glassfish 4.1] [INFO] [] [org.codehaus.enunciate.modules.jersey.EnunciateJerseyServletContainer] [tid: _ThreadID=29 _ThreadName=http-listener-1(4)] [timeMillis: 1416839606561] [levelValue: 800] [[
  Unable to load the spring component provider factory. Using the jersey default...]]

[2014-11-24T15:33:26.569+0100] [glassfish 4.1] [INFO] [] [com.sun.jersey.server.impl.application.WebApplicationImpl] [tid: _ThreadID=29 _ThreadName=http-listener-1(4)] [timeMillis: 1416839606569] [levelValue: 800] [[
  Initiating Jersey application, version 'Jersey: 1.11 12/09/2011 10:27 AM']]

[2014-11-24T15:33:29.576+0100] [glassfish 4.1] [SEVERE] [] [com.sun.jersey.spi.inject.Errors] [tid: _ThreadID=29 _ThreadName=http-listener-1(4)] [timeMillis: 1416839609576] [levelValue: 1000] [[
  The following errors and warnings have been detected with resource and/or provider classes:
  SEVERE: No injectable for parameter DiscoveredParameter(@javax.ws.rs.core.Context(),interface javax.ws.rs.core.Configuration,null,false)]]

[2014-11-24T15:33:29.579+0100] [glassfish 4.1] [SEVERE] [] [javax.enterprise.web] [tid: _ThreadID=29 _ThreadName=http-listener-1(4)] [timeMillis: 1416839609579] [levelValue: 1000] [[
  WebModule[]StandardWrapper.Throwable
com.sun.jersey.spi.inject.Errors$ErrorMessagesException
    at com.sun.jersey.spi.inject.Errors.processErrorMessages(Errors.java:170)
    at com.sun.jersey.spi.inject.Errors.postProcess(Errors.java:136)
    at com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:199)
    at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:771)
    at org.codehaus.enunciate.modules.jersey.EnunciateJerseyServletContainer.initiate(EnunciateJerseyServletContainer.java:131)
    at com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:318)
    at com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:609)
    at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:210)
    at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:373)
    at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:556)
    at javax.servlet.GenericServlet.init(GenericServlet.java:244)
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1583)
    at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:1212)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:237)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174)
    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:415)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:282)
    at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167)
    at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:201)
    at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175)
    at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
    at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
    at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561)
    at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545)
    at java.lang.Thread.run(Thread.java:745)
]]

[2014-11-24T15:33:29.580+0100] [glassfish 4.1] [WARNING] [] [javax.enterprise.web] [tid: _ThreadID=29 _ThreadName=http-listener-1(4)] [timeMillis: 1416839609580] [levelValue: 900] [[
  StandardWrapperValve[jersey]: Allocate exception for servlet jersey
com.sun.jersey.spi.inject.Errors$ErrorMessagesException
    at com.sun.jersey.spi.inject.Errors.processErrorMessages(Errors.java:170)
    at com.sun.jersey.spi.inject.Errors.postProcess(Errors.java:136)
    at com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:199)
    at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:771)
    at org.codehaus.enunciate.modules.jersey.EnunciateJerseyServletContainer.initiate(EnunciateJerseyServletContainer.java:131)
    at com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:318)
    at com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:609)
    at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:210)
    at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:373)
    at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:556)
    at javax.servlet.GenericServlet.init(GenericServlet.java:244)
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1583)
    at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:1212)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:237)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174)
    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:415)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:282)
    at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167)
    at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:201)
    at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175)
    at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
    at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
    at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561)
    at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545)
    at java.lang.Thread.run(Thread.java:745)

Solution

  • Apparently if I rebuild the project before running it, everything is fine. Any permanent solution to this issue ?

    Edit: Freaking figured it out. Enunciate plugin fucked something up when it assembled. Just use enunciate:docs before Building the artifact. Also, use the below enunciate config inside pom.xml. This will generate the docs into the webapp folder of your project, thus including the enunciate docs directly in the public folder of your web application. The next maven step of building the artifact will take care of both the webapp and the now included enunciate docs.

    <project>
       <build>
            <plugins>
                <plugin>
                    <groupId>org.codehaus.enunciate</groupId>
                    <artifactId>maven-enunciate-plugin</artifactId>
                    <version>1.29</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>docs</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <docsDir>${project.basedir}/src/main/webapp/docs</docsDir>
                        <configFile>enunciate.xml</configFile>
                        <enunciateArtifactId/>
                        <moduleName/>
                    </configuration>
                </plugin>
       </build>
    </project>