Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jetty-users] oej.servlets.CGI servlet ClassNotFoundException

jetty-servlets is an OPTION not enable by default.

Skip using dry-run, --verison is easier to understand (and gives more info about the server classpath)

Example:

[joakim@lapetus jetty-distribution-9.0.3.v20130506]$ java -jar start.jar --version
WARN: Argument 'etc/jetty-annotations.xml' specified multiple times. Check start.ini?
Use "java -jar start.jar --help" for more information.
Active Options: [Server, annotations, client, ext, jaas, jmx, jndi, jndi.demo, jsp, plus, resources, rewrite, websocket]
Version Information on 36 entries in the classpath.
Note: order presented here is how they would appear on the classpath.
      changes to the OPTIONS=[option,option,...] command line option will be reflected here.
 0:      9.0.3.v20130506 | ${jetty.home}/lib/jetty-xml-9.0.3.v20130506.jar
 1:  3.0.0.v201112011016 | ${jetty.home}/lib/servlet-api-3.0.jar
 2:      9.0.3.v20130506 | ${jetty.home}/lib/jetty-http-9.0.3.v20130506.jar
 3:      9.0.3.v20130506 | ${jetty.home}/lib/jetty-continuation-9.0.3.v20130506.jar
 4:      9.0.3.v20130506 | ${jetty.home}/lib/jetty-server-9.0.3.v20130506.jar
 5:      9.0.3.v20130506 | ${jetty.home}/lib/jetty-security-9.0.3.v20130506.jar
 6:      9.0.3.v20130506 | ${jetty.home}/lib/jetty-servlet-9.0.3.v20130506.jar
 7:      9.0.3.v20130506 | ${jetty.home}/lib/jetty-webapp-9.0.3.v20130506.jar
 8:      9.0.3.v20130506 | ${jetty.home}/lib/jetty-deploy-9.0.3.v20130506.jar
 9:      9.0.3.v20130506 | ${jetty.home}/lib/jetty-annotations-9.0.3.v20130506.jar
10:  1.1.0.v201108011116 | ${jetty.home}/lib/annotations/javax.annotation-1.1.0.v201108011116.jar
11:  3.1.0.v200803061910 | ${jetty.home}/lib/annotations/org.objectweb.asm-3.1.0.v200803061910.jar
12:      9.0.3.v20130506 | ${jetty.home}/lib/jetty-client-9.0.3.v20130506.jar
13:      9.0.3.v20130506 | ${jetty.home}/lib/jetty-jaas-9.0.3.v20130506.jar
14:      9.0.3.v20130506 | ${jetty.home}/lib/jetty-jmx-9.0.3.v20130506.jar
15:      9.0.3.v20130506 | ${jetty.home}/lib/jetty-jndi-9.0.3.v20130506.jar
16:      9.0.3.v20130506 | ${jetty.home}/lib/jetty-plus-9.0.3.v20130506.jar
17:  1.1.0.v201105071233 | ${jetty.home}/lib/jndi/javax.activation-1.1.0.v201105071233.jar
18:  1.4.1.v201005082020 | ${jetty.home}/lib/jndi/javax.mail.glassfish-1.4.1.v201005082020.jar
19:                1.1.1 | ${jetty.home}/lib/jndi/javax.transaction-1.1.1.v201105210645.jar
20:      9.0.3.v20130506 | ${jetty.home}/lib/jndi.demo/test-mock-resources-9.0.3.v20130506.jar
21:  2.2.0.v201303151357 | ${jetty.home}/lib/jsp/com.sun.el-2.2.0.v201303151357.jar
22:  2.2.0.v201303151357 | ${jetty.home}/lib/jsp/javax.el-2.2.0.v201303151357.jar
23:  1.2.0.v201105211821 | ${jetty.home}/lib/jsp/javax.servlet.jsp.jstl-1.2.0.v201105211821.jar
24:  2.2.0.v201112011158 | ${jetty.home}/lib/jsp/javax.servlet.jsp-2.2.0.v201112011158.jar
25:  2.2.2.v201112011158 | ${jetty.home}/lib/jsp/org.apache.jasper.glassfish-2.2.2.v201112011158.jar
26:  1.2.0.v201112081803 | ${jetty.home}/lib/jsp/org.apache.taglibs.standard.glassfish-1.2.0.v201112081803.jar
27: 3.8.2.v20130121-145325 | ${jetty.home}/lib/jsp/org.eclipse.jdt.core-3.8.2.v20130121.jar
28:                (dir) | ${jetty.home}/resources
29:      9.0.3.v20130506 | ${jetty.home}/lib/jetty-rewrite-9.0.3.v20130506.jar
30:      9.0.3.v20130506 | ${jetty.home}/lib/websocket/websocket-api-9.0.3.v20130506.jar
31:      9.0.3.v20130506 | ${jetty.home}/lib/websocket/websocket-common-9.0.3.v20130506.jar
32:      9.0.3.v20130506 | ${jetty.home}/lib/websocket/websocket-server-9.0.3.v20130506.jar
33:      9.0.3.v20130506 | ${jetty.home}/lib/websocket/websocket-servlet-9.0.3.v20130506.jar
34:      9.0.3.v20130506 | ${jetty.home}/lib/jetty-util-9.0.3.v20130506.jar
35:      9.0.3.v20130506 | ${jetty.home}/lib/jetty-io-9.0.3.v20130506.jar

Notice the line
Active Options: [Server, annotations, client, ext, jaas, jmx, jndi, jndi.demo, jsp, plus, resources, rewrite, websocket]

Now, lets enable the servlets OPTION temporarily via the command line ...

[joakim@lapetus jetty-distribution-9.0.3.v20130506]$ java -jar start.jar OPTIONS=servlets --version
WARN: Argument 'etc/jetty-annotations.xml' specified multiple times. Check start.ini?
Use "java -jar start.jar --help" for more information.
Active Options: [Server, annotations, client, ext, jaas, jmx, jndi, jndi.demo, jsp, plus, resources, rewrite, servlets, websocket]
Version Information on 37 entries in the classpath.
Note: order presented here is how they would appear on the classpath.
      changes to the OPTIONS=[option,option,...] command line option will be reflected here.
 0:      9.0.3.v20130506 | ${jetty.home}/lib/jetty-xml-9.0.3.v20130506.jar
 1:  3.0.0.v201112011016 | ${jetty.home}/lib/servlet-api-3.0.jar
 2:      9.0.3.v20130506 | ${jetty.home}/lib/jetty-http-9.0.3.v20130506.jar
 3:      9.0.3.v20130506 | ${jetty.home}/lib/jetty-continuation-9.0.3.v20130506.jar
 4:      9.0.3.v20130506 | ${jetty.home}/lib/jetty-server-9.0.3.v20130506.jar
 5:      9.0.3.v20130506 | ${jetty.home}/lib/jetty-security-9.0.3.v20130506.jar
 6:      9.0.3.v20130506 | ${jetty.home}/lib/jetty-servlet-9.0.3.v20130506.jar
 7:      9.0.3.v20130506 | ${jetty.home}/lib/jetty-webapp-9.0.3.v20130506.jar
 8:      9.0.3.v20130506 | ${jetty.home}/lib/jetty-deploy-9.0.3.v20130506.jar
 9:      9.0.3.v20130506 | ${jetty.home}/lib/jetty-annotations-9.0.3.v20130506.jar
10:  1.1.0.v201108011116 | ${jetty.home}/lib/annotations/javax.annotation-1.1.0.v201108011116.jar
11:  3.1.0.v200803061910 | ${jetty.home}/lib/annotations/org.objectweb.asm-3.1.0.v200803061910.jar
12:      9.0.3.v20130506 | ${jetty.home}/lib/jetty-client-9.0.3.v20130506.jar
13:      9.0.3.v20130506 | ${jetty.home}/lib/jetty-jaas-9.0.3.v20130506.jar
14:      9.0.3.v20130506 | ${jetty.home}/lib/jetty-jmx-9.0.3.v20130506.jar
15:      9.0.3.v20130506 | ${jetty.home}/lib/jetty-jndi-9.0.3.v20130506.jar
16:      9.0.3.v20130506 | ${jetty.home}/lib/jetty-plus-9.0.3.v20130506.jar
17:  1.1.0.v201105071233 | ${jetty.home}/lib/jndi/javax.activation-1.1.0.v201105071233.jar
18:  1.4.1.v201005082020 | ${jetty.home}/lib/jndi/javax.mail.glassfish-1.4.1.v201005082020.jar
19:                1.1.1 | ${jetty.home}/lib/jndi/javax.transaction-1.1.1.v201105210645.jar
20:      9.0.3.v20130506 | ${jetty.home}/lib/jndi.demo/test-mock-resources-9.0.3.v20130506.jar
21:  2.2.0.v201303151357 | ${jetty.home}/lib/jsp/com.sun.el-2.2.0.v201303151357.jar
22:  2.2.0.v201303151357 | ${jetty.home}/lib/jsp/javax.el-2.2.0.v201303151357.jar
23:  1.2.0.v201105211821 | ${jetty.home}/lib/jsp/javax.servlet.jsp.jstl-1.2.0.v201105211821.jar
24:  2.2.0.v201112011158 | ${jetty.home}/lib/jsp/javax.servlet.jsp-2.2.0.v201112011158.jar
25:  2.2.2.v201112011158 | ${jetty.home}/lib/jsp/org.apache.jasper.glassfish-2.2.2.v201112011158.jar
26:  1.2.0.v201112081803 | ${jetty.home}/lib/jsp/org.apache.taglibs.standard.glassfish-1.2.0.v201112081803.jar
27: 3.8.2.v20130121-145325 | ${jetty.home}/lib/jsp/org.eclipse.jdt.core-3.8.2.v20130121.jar
28:                (dir) | ${jetty.home}/resources
29:      9.0.3.v20130506 | ${jetty.home}/lib/jetty-rewrite-9.0.3.v20130506.jar
30:      9.0.3.v20130506 | ${jetty.home}/lib/jetty-servlets-9.0.3.v20130506.jar
31:      9.0.3.v20130506 | ${jetty.home}/lib/websocket/websocket-api-9.0.3.v20130506.jar
32:      9.0.3.v20130506 | ${jetty.home}/lib/websocket/websocket-common-9.0.3.v20130506.jar
33:      9.0.3.v20130506 | ${jetty.home}/lib/websocket/websocket-server-9.0.3.v20130506.jar
34:      9.0.3.v20130506 | ${jetty.home}/lib/websocket/websocket-servlet-9.0.3.v20130506.jar
35:      9.0.3.v20130506 | ${jetty.home}/lib/jetty-util-9.0.3.v20130506.jar
36:      9.0.3.v20130506 | ${jetty.home}/lib/jetty-io-9.0.3.v20130506.jar

There you go, entry #30 was added.

To enable this without the extra command line, edit the start.ini and add 

OPTIONS=servlets

to the end of the file.

--
Joakim Erdfelt <joakim@xxxxxxxxxxx>
Developer advice, services and support
from the Jetty & CometD experts


On Fri, May 24, 2013 at 6:37 AM, Libor Jelinek <ljelinek@xxxxxxxxxxx> wrote:
Vanilla-fresh Jetty 9.0.3.v20130506 (latest at this moment of posting this) doesn't expose oej.servlets.* from jetty-servlets-x.jar.

libor@pc-libor ~/tmp/jetty-distribution-9.0.3.v20130506$ java -jar start.jar --dry-run | grep servlets

prints nothing...
On Fri, May 24, 2013 at 3:30 PM, Jesse McConnell <jesse.mcconnell@xxxxxxxxx> wrote:
I just double checked the webapp context and o.e.j.servlets should be exposed.

you see jetty-servlets in your startup when you run

java -jar start.jar --dry-run

correct?
jesse

--
jesse mcconnell
jesse.mcconnell@xxxxxxxxx


On Fri, May 24, 2013 at 8:18 AM, Libor Jelinek <ljelinek@xxxxxxxxxxx> wrote:
My app have empty WEB-INF/lib/.jetty-servlets-9.0.3.v20130506.jar containing oej.servlets.CGI class is already in $JETTY_HOME/lib/ therefore on "global classpath" visible to all webapps. At least in 8.x having this jetty-servlets-8.x.jar in $JETTY_HOME/lib/ was enough to use oej.servlets.CGI from any deployed webapp.

Did change something related to issue in 9.x? Thanks.
On Fri, May 24, 2013 at 1:08 PM, Jesse McConnell <jesse.mcconnell@xxxxxxxxx> wrote:
you have the jetty-servlets and any other dependencies in your web-inf/lib?

--
jesse mcconnell
jesse.mcconnell@xxxxxxxxx


On Fri, May 24, 2013 at 3:40 AM, Libor Jelinek <ljelinek@xxxxxxxxxxx> wrote:
Hello Jetty-users!
In Jetty 9.0.3.v20130506 I can't use org.eclipse.jetty.servlets.CGI because it's not found by Jetty.

This is my web.xml:

  <servlet>
        <servlet-name>PHP</servlet-name>
        <servlet-class>org.eclipse.jetty.servlets.CGI</servlet-class>
        <init-param>
            <param-name>commandPrefix</param-name>
            <param-value>php-cgi</param-value>
        </init-param>
   </servlet>

    <servlet-mapping>
        <servlet-name>PHP</servlet-name>
        <url-pattern>*.php</url-pattern>
    </servlet-mapping>

And starting Jetty with no config file modified
   java -jar start.jar

I see
   java.lang.ClassNotFoundException: org.eclipse.jetty.servlets.CGI
   ...
   javax.servlet.UnvailableException: org.eclipse.jetty.servlets.CGI

Same web.xml works in Jetty 8.x. I've also noticed that other default servlets cannot be found. What changed in 9.x?

Thanks.


_______________________________________________
jetty-users mailing list
jetty-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/jetty-users



_______________________________________________
jetty-users mailing list
jetty-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/jetty-users



_______________________________________________
jetty-users mailing list
jetty-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/jetty-users



_______________________________________________
jetty-users mailing list
jetty-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/jetty-users



_______________________________________________
jetty-users mailing list
jetty-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/jetty-users



Back to the top