"java.lang.ClassNotFoundException: org.eclipse.jetty.plus.jaas.JAASRole" in camel-jetty when configuring for external JAAS authentication

Solution Verified - Updated -

Issue

Running a camel-jetty component inside JBoss Fuse 6.1 and trying to follow the documentation at [1] to configure camel-jetty to use JAAS based authentication against the 'karaf' authentication realm of JBoss Fuse results in

java.lang.ClassNotFoundException: org.eclipse.jetty.plus.jaas.JAASRole

Full error below [2].

[1] https://access.redhat.com/documentation/en-US/Red_Hat_JBoss_Fuse/6.1/html/Security_Guide/files/CamelJetty.html

[2] 
15:38:35,797 | WARN  | qtp734523728-127 | AbstractHttpConnection           | 92 - org.eclipse.jetty.aggregate.jetty-all-server - 8.1.14.v20131031 | /jettyexample
java.lang.RuntimeException: java.lang.ClassNotFoundException: org.eclipse.jetty.plus.jaas.JAASRole
    at org.eclipse.jetty.plus.jaas.JAASLoginService.getGroups(JAASLoginService.java:332)[92:org.eclipse.jetty.aggregate.jetty-all-server:8.1.14.v20131031]
    at org.eclipse.jetty.plus.jaas.JAASLoginService.login(JAASLoginService.java:244)[92:org.eclipse.jetty.aggregate.jetty-all-server:8.1.14.v20131031]
    at org.eclipse.jetty.security.authentication.LoginAuthenticator.login(LoginAuthenticator.java:47)[92:org.eclipse.jetty.aggregate.jetty-all-server:8.1.14.v20131031]
    at org.eclipse.jetty.security.authentication.BasicAuthenticator.validateRequest(BasicAuthenticator.java:90)[92:org.eclipse.jetty.aggregate.jetty-all-server:8.1.14.v20131031]
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:492)[92:org.eclipse.jetty.aggregate.jetty-all-server:8.1.14.v20131031]
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)[92:org.eclipse.jetty.aggregate.jetty-all-server:8.1.14.v20131031]
    at org.eclipse.jetty.server.Server.handle(Server.java:370)[92:org.eclipse.jetty.aggregate.jetty-all-server:8.1.14.v20131031]
    at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)[92:org.eclipse.jetty.aggregate.jetty-all-server:8.1.14.v20131031]
    at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:971)[92:org.eclipse.jetty.aggregate.jetty-all-server:8.1.14.v20131031]
    at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1033)[92:org.eclipse.jetty.aggregate.jetty-all-server:8.1.14.v20131031]
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)[92:org.eclipse.jetty.aggregate.jetty-all-server:8.1.14.v20131031]
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)[92:org.eclipse.jetty.aggregate.jetty-all-server:8.1.14.v20131031]
    at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)[92:org.eclipse.jetty.aggregate.jetty-all-server:8.1.14.v20131031]
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:667)[92:org.eclipse.jetty.aggregate.jetty-all-server:8.1.14.v20131031]
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)[92:org.eclipse.jetty.aggregate.jetty-all-server:8.1.14.v20131031]
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)[92:org.eclipse.jetty.aggregate.jetty-all-server:8.1.14.v20131031]
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)[92:org.eclipse.jetty.aggregate.jetty-all-server:8.1.14.v20131031]
    at java.lang.Thread.run(Thread.java:744)[:1.7.0_45]
Caused by: java.lang.ClassNotFoundException: org.eclipse.jetty.plus.jaas.JAASRole
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)[:1.7.0_45]
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)[:1.7.0_45]
    at java.security.AccessController.doPrivileged(Native Method)[:1.7.0_45]
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)[:1.7.0_45]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)[:1.7.0_45]
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)[:1.7.0_45]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_45]
    at org.eclipse.jetty.plus.jaas.JAASLoginService.getGroups(JAASLoginService.java:320)[92:org.eclipse.jetty.aggregate.jetty-all-server:8.1.14.v20131031]
    ... 17 more

Environment

  • JBoss Fuse 6.1
  • Fuse Mediation Router 2.12.

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content