Kris Schouw
Kris Schouw

Reputation: 352

Deploying a Maven Project using Vaadin to Tomcat

This may be an incredibly stupid question, but I have a web application that relies heavily on jQuery for many various widgets and aesthetic utilities that I'm trying to migrate into using Vaadin. For starters, I'm attempting to just create your run-of-the-mill "Hello World" application -- built with Maven and deployed to Tomcat -- with Vaadin, and I'm having a problem deploying it. I've been following the turtorial posted here ( https://vaadin.com/book/-/page/intro.walkthrough.html ). Here's my file structure thus far:

HelloWorld
    src
        main
            java
                com
                    business
                        helloworld
                            HelloWorld.java
            resources
            webapp
                WEB-INF
                    web.xml
        test
    target
    pom.xml

I'm guessing that my problem lies somewhere in my web.xml that follows:

web.xml

<?xml version="1.0"?>
<!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>HelloWorld</display-name> 
    <servlet>
        <servlet-name>HelloWorld</servlet-name>
        <servlet-class>com.vaadin.terminal.gwt.server.ApplicationServlet</servlet-class>
        <init-param>
            <param-name>application</param-name>
            <param-value>HelloWorld</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>HelloWorld</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>
</web-app>

I've tried my best to follow the examples I've seen, but I have a feeling I'm making a stupid mistake. When I run the project as a Maven Build (tomcat:redeploy), it doesn't appear in my Tomcat Manager. Any ideas? If you need any more information (like what's in my pom.xml), just let me know...

EDIT: Is it better to create a Vaadin Project and convert it to Maven, or vis versa?

Upvotes: 1

Views: 2198

Answers (1)

Jens Jansson
Jens Jansson

Reputation: 4686

MyApplicationClass in application param-value should be the whole qualified class name, like

com.business.helloworld.HelloWorld

(I'm on a mobile phone so I didn't check the syntax, but that should be it.)

Edit: To the second question, there's an Maven archetype that creates an Maven Vaadin project. By using that you won't have to convert either way.

Upvotes: 3

Related Questions