users@jersey.java.net

Re: [Jersey] Questoin about Jersey integration with Jetty + Eclipse using maven

From: Jakub Podlesak <Jakub.Podlesak_at_Sun.COM>
Date: Thu, 17 Sep 2009 11:09:31 +0200

Hi Roan,

there is no integration of Jersey and Jetty. I believe, all you need is
to properly configure the jetty plugin in your pom file:

    <build>
      ...
            <plugin>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>maven-jetty-plugin</artifactId>
            </plugin>
        </plugins>
    </build>


Then just launch mvn jetty:war-run to get your application running.

I have just tried to:

mvn -DarchetypeCatalog=http://download.java.net/maven/2/archetype-catalog.xml \
      -DinteractiveMode=false \
      -DarchetypeGroupId=com.sun.jersey.archetypes \
      -DarchetypeArtifactId=jersey-quickstart-webapp \
      -DartifactId=citespace \
      -DgroupId=com.citespace \
      -Dversion=0.0.1-SNAPSHOT \
         archetype:generate

cd citespace && vim pom.xml # to add the above mentioned plugin to the pom
mvn org.mortbay.jetty:jetty:war-run

http://localhost:8080/citespace/webresources/myresource
then shows the default myresource representation

HTH,

~Jakub


On Tue, Sep 15, 2009 at 04:24:06PM -0300, Roan Brasil Monteiro wrote:
> Hello Everyone,
>
> I just started a Maven Project archetype webapp using Jersey + Jetty on
> Eclipse. Well I am getting an error that I cannot solve. I would like to
> have some help of someone here that already had this issue.
> Let's start with my pom.xml
>
> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="
> http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
> http://maven.apache.org/maven-v4_0_0.xsd">
> <modelVersion>4.0.0</modelVersion>
> <groupId>com.citespace</groupId>
> <artifactId>citespace</artifactId>
> <packaging>war</packaging>
> <version>0.0.1-SNAPSHOT</version>
> <name>citespace Maven Webapp</name>
> <url>http://maven.apache.org</url>
> <dependencies>
> <dependency>
> <groupId>junit</groupId>
> <artifactId>junit</artifactId>
> <version>3.8.1</version>
> <scope>test</scope>
> </dependency>
> <dependency>
> <groupId>com.sun.jersey</groupId>
> <artifactId>jersey-server</artifactId>
> <version>1.1.3-ea-SNAPSHOT</version>
> </dependency>
> <dependency>
> <groupId>maven</groupId>
> <artifactId>maven-jetty-plugin</artifactId>
> <version>1.1</version>
> </dependency>
> <dependency>
> <groupId>org.mortbay.jetty</groupId>
> <artifactId>jetty</artifactId>
> <version>6.1.20</version>
> </dependency>
> </dependencies>
> <build>
> <finalName>citespace</finalName>
> </build>
> </project>
>
>
> After that I have my web.xml
>
> <!DOCTYPE web-app PUBLIC
> "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
> "http://java.sun.com/dtd/web-app_2_3.dtd" >
>
> <web-app>
> <display-name>Archetype Created Web Application</display-name>
> <servlet>
> <servlet-name>Jersey Web Application</servlet-name>
>
> <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
> <init-param>
> <param-name>com.sun.jersey.config.property.packages</param-name>
> <param-value>com.citespace</param-value>
> </init-param>
> <load-on-startup>1</load-on-startup>
> </servlet>
> <servlet-mapping>
> <servlet-name>Jersey Web Application</servlet-name>
> <url-pattern>/*</url-pattern>
> </servlet-mapping>
>
> </web-app>
>
>
> and the print screen of my project and the error I am getting.
>
> *[INFO] Starting jetty 6.1.20 ...
> 2009-09-15 16:12:03.005::INFO: jetty-6.1.20
> 2009-09-15 16:12:03.194::INFO: No Transaction manager found - if your
> webapp requires one, please configure one.
> 2009-09-15 16:12:03.487:/citespace:WARN: unavailable
> java.lang.IllegalArgumentException: com.sun.jersey.config.property.packages
> contains no packages
> at
> com.sun.jersey.api.core.PackagesResourceConfig.getPackages(PackagesResourceConfig.java:145)
> at
> com.sun.jersey.api.core.PackagesResourceConfig.<init>(PackagesResourceConfig.java:89)
> at
> com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig(WebComponent.java:571)
> at
> com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig(WebComponent.java:549)
> at
> com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:194)
> at
> com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:308)
> at
> com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:471)
> at javax.servlet.GenericServlet.init(GenericServlet.java:241)
> at
> org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:431)
> at
> org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:263)
> at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> at
> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:681)
> at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
> at
> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
> at
> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
> at
> org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
> at
> org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6PluginWebAppContext.java:124)
> at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> at
> org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
> at
> org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
> at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> at
> org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
> at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> at
> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
> at org.mortbay.jetty.Server.doStart(Server.java:224)
> at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> at
> org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:132)
> at
> org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:441)
> at
> org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:383)
> at
> org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.java:210)
> at
> org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184)
> at
> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:579)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:498)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmentForProject(DefaultLifecycleExecutor.java:265)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:191)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:149)
> at
> org.apache.maven.DefaultMaven.execute_aroundBody0(DefaultMaven.java:223)
> at
> org.apache.maven.DefaultMaven.execute_aroundBody1$advice(DefaultMaven.java:304)
> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:1)
> at
> org.apache.maven.embedder.MavenEmbedder.execute_aroundBody2(MavenEmbedder.java:904)
> at
> org.apache.maven.embedder.MavenEmbedder.execute_aroundBody3$advice(MavenEmbedder.java:304)
> at org.apache.maven.embedder.MavenEmbedder.execute(MavenEmbedder.java:1)
> at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:176)
> at org.apache.maven.cli.MavenCli.main(MavenCli.java:63)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:408)
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:351)
> at org.codehaus.classworlds.Launcher.main(Launcher.java:31)
> 2009-09-15 16:12:03.511::INFO: Started SelectChannelConnector_at_0.0.0.0:8080
> [INFO] Started Jetty Server*
> --
> Atenciosamente,
>
> Roan Brasil Monteiro
> http://roanbrasil.wordpress.com/


> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_jersey.dev.java.net
> For additional commands, e-mail: users-help_at_jersey.dev.java.net


-- 
Jakub Podlešák, Software Engineer                                                             
Web Services and Technologies, SUN Microsystems                                               
http://blogs.sun.com/japod