« Return to Thread: "Web application descriptor must be a valid web.xml" build error

Re: "Web application descriptor must be a valid web.xml" build error

by Woonsan Ko :: Rate this Message:

Reply to Author | View in Thread


Hi Glen,

I see the element definition in the dtd specified in your web.xml as follows:

<!ELEMENT web-app (icon?, display-name?, description?, distributable?,
context-param*, filter*, filter-mapping*, listener*, servlet*,
servlet-mapping*, session-config?, mime-mapping*, welcome-file-list?,
error-page*, taglib*, resource-env-ref*, resource-ref*, security-constraint*,
login-config?, security-role*, env-entry*, ejb-ref*,  ejb-local-ref*)>

So, I think you should move down welcome-file-list after servlet-mapping.

Regards,

Woonsan


--- On Tue, 6/30/09, Glen Mazza <glen.mazza@...> wrote:

> From: Glen Mazza <glen.mazza@...>
> Subject: "Web application descriptor must be a valid web.xml" build error
> To: pluto-user@...
> Date: Tuesday, June 30, 2009, 4:55 PM
>
> Hello, I'm repeatedly getting a "Web application descriptor
> must be a valid
> web.xml" error while trying to build a sample
> HelloWorldPortlet following
> the online docs here[1], using the pom.xml supplied and
> following the folder
> structure on that page (i.e. having the web.xml in
> "HelloWorldPortlet\src\main\java\webapp\WEB-INF"
> directory.)  Partial
> stacktrace is below.
>
> Eclipse is showing that the web.xml is at least
> well-formed:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <!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 id="HelloWorldID">
>
>    <display-name>HelloWorldPortlet</display-name>
>
>    <welcome-file-list>
>      
> <welcome-file>index.html</welcome-file>
>    </welcome-file-list>
>
>     <servlet>
>        
> <servlet-name>HelloWorldPortlet</servlet-name>
>        
> <servlet-class>org.apache.pluto.container.driver.PortletServlet</servlet-class>
>         <init-param>
>            
> <param-name>portlet-name</param-name>
>            
> <param-value>HelloWorldPortlet</param-value>
>         </init-param>
>        
> <load-on-startup>1</load-on-startup>
>     </servlet>
>
>     <servlet-mapping>
>        
> <servlet-name>HelloWorldPortlet</servlet-name>
>        
> <url-pattern>/PlutoInvoker/HelloWorldPortlet</url-pattern>
>     </servlet-mapping>
> </web-app>
>
> But even if I delete this web.xml or use another web.xml
> that I know works
> (one from Pluto's portal or testsuite WAR file) I still get
> this same
> error--so I can't tell if there's a problem with the
> web.xml or simply that
> it can't find the web.xml.  Any hints?  Also, is
> this a Maven war plugin or
> Pluto plugin issue--if the latter, I'll enter a JIRA for
> the error message
> to distinguish between "bad web.xml" and "can't find the
> web.xml" so users
> with the latter problem don't need to spend time trying to
> fix their web.xml
> when that's not the problem.
>
> Thanks,
> Glen
>
> [1] http://portals.apache.org/pluto/v20/deploying.html
>
> C:\eclipse\workspace\HelloWorldPortlet>mvn clean install
> -e
> + Error stacktraces are turned on.
> [INFO] Scanning for projects...
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Building HelloWorldPortlet
> [INFO]    task-segment: [clean, install]
> [INFO]
> ------------------------------------------------------------------------
> [INFO] [clean:clean]
> [INFO] [pluto2:assemble {execution: default}]
> [INFO]
> ------------------------------------------------------------------------
> [ERROR] BUILD ERROR
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Web application descriptor must be a valid web.xml
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Trace
> org.apache.maven.lifecycle.LifecycleExecutionException: Web
> application
> descript
> or must be a valid web.xml
>         at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa
> ultLifecycleExecutor.java:703)
>         at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLi
> fecycle(DefaultLifecycleExecutor.java:540)
>         at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(Defau
> ltLifecycleExecutor.java:519)
>         at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHan
> dleFailures(DefaultLifecycleExecutor.java:371)
>         at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmen
> ts(DefaultLifecycleExecutor.java:332)
>         at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLi
> fecycleExecutor.java:181)
>         at
> org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:356)
> --
> View this message in context: http://www.nabble.com/%22Web-application-descriptor-must-be-a-valid-web.xml%22-build-error-tp24273382p24273382.html
> Sent from the Pluto - User mailing list archive at
> Nabble.com.
>
>



 « Return to Thread: "Web application descriptor must be a valid web.xml" build error