[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[jetty-users] cargo deployment application won't work on jetty 7.1.4
|
Hello,
I'm having problems running cargo-jetty-deployer.war (attched) in jetty
7.1.4.v20100610 server on ubuntu. Note that my jetty server comes from
a fresh installation and run through 'java -jar start.jar start' or
'bin/jetty.sh start'. Here's the error:
2010-07-05 22:18:15.133:INFO::Deployable added:
/usr/local/jetty/jetty-distribution-7.1.4.v20100610/webapps/cargo-jetty-deployer.war
2010-07-05 22:18:15.140:INFO::Copying WEB-INF/classes from
jar:file:/usr/local/jetty/jetty-distribution-7.1.4.v20100610/webapps/cargo-jetty-deployer.war!/WEB-INF/classes/
to
/tmp/Jetty_0_0_0_0_8080_cargo.jetty.deployer.war__cargo.jetty.deployer__.z8ce8l/webinf/WEB-INF/classes
2010-07-05 22:18:15.256:WARN::FAILED
ConstraintSecurityHandler@e99ce5@/cargo-jetty-deployer:
java.lang.IllegalArgumentException: Attempt to use undeclared role:
manager, known roles: []
2010-07-05 22:18:15.257:WARN::FAILED
SessionHandler@13b9fae@/cargo-jetty-deployer:
java.lang.IllegalArgumentException: Attempt to use undeclared role:
manager, known roles: []
2010-07-05 22:18:15.257:WARN::Failed startup of context
WebAppContext@1706da8@1706da8/cargo-jetty-deployer,[file:/tmp/Jetty_0_0_0_0_8080_cargo.jetty.deployer.war__cargo.jetty.deployer__.z8ce8l/webinf/,
jar:file:/usr/local/jetty/jetty-distribution-7.1.4.v20100610/webapps/cargo-jetty-deployer.war!/],/usr/local/jetty/jetty-distribution-7.1.4.v20100610/webapps/cargo-jetty-deployer.war
java.lang.IllegalArgumentException: Attempt to
use undeclared role: manager, known roles: []
at
org.eclipse.jetty.security.ConstraintSecurityHandler.doStart(ConstraintSecurityHandler.java:228)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
at
org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:92)
at
org.eclipse.jetty.server.handler.ScopedHandler.doStart(ScopedHandler.java:97)
at
org.eclipse.jetty.server.session.SessionHandler.doStart(SessionHandler.java:114)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
at
org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:92)
at
org.eclipse.jetty.server.handler.ScopedHandler.doStart(ScopedHandler.java:97)
at
org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:634)
at
org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:200)
at
org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:995)
at
org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:588)
at
org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:381)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
at
org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:36)
at
org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:180)
at
org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:497)
at
org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:135)
at
org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:61)
at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:436)
at
org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:349)
at org.eclipse.jetty.util.Scanner.scan(Scanner.java:306)
at org.eclipse.jetty.util.Scanner$1.run(Scanner.java:258)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
Looking at the stacktrace, the error was caused by an attempt to use a
role named 'manager' from an empty role list. Looking at
JETTY_HOME/etc/realm.properties, users and roles are declared but was
not included in the role list shown in the error stacktrace. Here are
the users/roles in my JETTY_HOME/etc/realm.properties:
jetty: MD5:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,user
admin:
CRYPT:xxxxxxxxxxxxx,server-administrator,content-administrator,admin
other: OBF:xxxxxxxxxxxxxxxxxxxx,user
plain: plain,user
user: password,user
So I tried to change 'manager' to 'admin' from the web.xml of the
cargo-jetty-deployer.war and load it in the jetty server but the same
error was thrown, only, instead of attempting to use a role named
'manager', it is now 'admin'. Actually, I was already expecting this
since no role was listed from the role list, but I just want to make
sure.
So, I removed the whole <security-constraint> and
<login-config> elements, where the role name is configured, from
the web.xml and tried loading the app again. The application loaded
properly without any exception thrown.
Now, to see if the application is actually working, I run a maven
command (mvn cargo:deploy) which triggers the maven plugin,
cargo-maven2-plugin, that communicates with the cargo-jetty-deployer
application that is deployed to the server. Unfortunately, another
exception was thrown:
2010-07-05 22:57:09.936:WARN::Error for /cargo-jetty-deployer/deploy
java.lang.NoClassDefFoundError:
org/eclipse/jetty/server/handler/ContextHandler
at
org.codehaus.cargo.deployer.jetty.DeployerServlet.getContextHandler(DeployerServlet.java:596)
at
org.codehaus.cargo.deployer.jetty.DeployerServlet.deployArchive(DeployerServlet.java:203)
at
org.codehaus.cargo.deployer.jetty.DeployerServlet.doPut(DeployerServlet.java:175)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:730)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:527)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:423)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:456)
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:225)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:930)
at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:358)
at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:866)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:245)
at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:113)
at org.eclipse.jetty.server.Server.handle(Server.java:337)
at
org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:595)
at
org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:1055)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:856)
at
org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:217)
at
org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:424)
at
org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:489)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436)
at java.lang.Thread.run(Thread.java:619)
Caused by:
java.lang.ClassNotFoundException:
org.eclipse.jetty.server.handler.ContextHandler
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at
org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:360)
at
org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:322)
at
org.codehaus.cargo.deployer.jetty.DeployerServlet.getContextHandler(DeployerServlet.java:596)
at
org.codehaus.cargo.deployer.jetty.DeployerServlet.deployArchive(DeployerServlet.java:203)
at
org.codehaus.cargo.deployer.jetty.DeployerServlet.doPut(DeployerServlet.java:175)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:730)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:527)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:423)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:456)
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:225)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:930)
at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:358)
at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:866)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:245)
at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:113)
at org.eclipse.jetty.server.Server.handle(Server.java:337)
at
org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:595)
at
org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:1055)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:856)
at
org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:217)
at
org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:424)
at
org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:489)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436)
at java.lang.Thread.run(Thread.java:619)
The error indicates that the class
org.eclipse.jetty.server.handler.ContextHandler is cannot be found. The
application cargo-jetty-deployer.war doesn't have any libraries
included in it so I checked the libraries used by jetty at
JETTY_HOME/lib/. I found the class inside
jetty-server-7.1.4.v20100610.jar so I guess the libraries used by jetty
server is not shared or referenced with the application
cargo-jetty-deployer or to any applications deployed in it.
If my assumption is correct, how am I able to share the libraries used
by the jetty server to any of the application loaded into it?
Any other ideas why I'm getting this exception?
Any help is greatly appreciated.
-don
|
Attachment:
cargo-jetty-deployer.war
Description: Binary data