1 2 Previous Next 15 Replies Latest reply on Oct 4, 2002 8:25 AM by thigh

    JBoss 3.0: Not setting jetty classpath

    pazu

      Hello, folks.

      I've got a problem with JBoss 3.0 where I try to deploy a simple test application with some EJBeans and a few JSPages.

      The beans works fine (even CMP 2.0), however there is a problem running the JSP files. It seems that JBoss is not adding my bean classes to the Jetty classpath.

      Here is the error I get:

      [Jetty] WARNING: Servlet Exception for /erp-test/cliente.jsp
      org.apache.jasper.JasperException: JASPER: Unable to compile class for JSPNote: sun.tools.javac.Main has been deprecated.
      /tmp/JettyContext38244.tmp/_0002fcliente_0002ejspcliente_jsp_0.java:19: Class javax.ejb.FinderException not found in import.
      import javax.ejb.FinderException;
      ^
      /tmp/JettyContext38244.tmp/_0002fcliente_0002ejspcliente_jsp_0.java:20: Package com.tld.erp.cliente.interfaces not found in import.
      import com.tld.erp.cliente.interfaces.*;

      (...)

      and some more, all of them complaining about not finding some class or interface. (BTW, com.tld.erp.* are my application packages)
      .

      Willing to provide more info and/or source code if needed.

        • 1. Re: JBoss 3.0: Not setting jetty classpath
          garymarsh

          Hi pazu;

          I have the same problem, see my thread at
          http://main.jboss.org/thread.jsp?forum=50&thread=8996

          Gary

          • 2. Re: JBoss 3.0: Not setting jetty classpath
            twhphan

            I find this problem too, even with JBoss 3 beta, refer to:

            http://main.jboss.org/thread.jsp?forum=50&thread=8186

            --
            I've a servlet in WEB-INF/classes/esb/web/XmlHttp.class

            I can access it in Tomcat using:

            http://localhost/esb/servlet/esb.web.XmlHttp

            It gives "HTTP method GET is not supported by this URL" which is a correct error, since I implemented only the doPost method

            --
            but I cannot do this same thing with JBoss/Jetty:

            HTTP ERROR: 404 Could not find resource for /esb/servlet/esb.web.XmlHttp
            RequestURI=/esb/servlet/esb.web.XmlHttp

            --
            Note: http://localhost/esb/ is the root for both Jetty and Tomcat

            • 3. Re: JBoss 3.0: Not setting jetty classpath
              forourke

              Is there any update on this. I have a similar problem with a servlet trying to access code in another jar.
              Ther servlet is in a war. My other application code is in an jar and they are packaged together in an ear.

              How do I tell the servlet code how to find the code in the jar.

              • 4. Re: JBoss 3.0: Not setting jetty classpath
                jules_gosnell

                I've just checked in some code that should improve this.

                The problem is that Jasper requires a classpath like a.jar:b.jar:c.jar but all Jetty gets from JBoss is a classloader.

                I try to build the classpath by interrogating the classloader, but unfortunate;y some of the URLs I get back refer to jars nested at arbitrary depths inside other jars.

                There are people working on this and soon all jars will be unpacked to temporary locations. Then the classpath will work and all your JSPs will compile properly on the fly.

                In the meantime, I recommend that you precompile them using e.g. JSPC. They should run fine, since your classes will be available through the aforementioned classloader.

                Jules

                • 5. Re: JBoss 3.0: Not setting jetty classpath
                  twhphan

                  Thx Jules, I see ur changes during JBoss beta2 startup, but my problem still exist, hope the developers will fix this soon :) It'll be great if we can use Apache Struts in Jetty (it doesn't work now)

                  The JARs within my EAR's WAR is still not recognized

                  • 6. Re: JBoss 3.0: Not setting jetty classpath
                    twhphan

                    Hi, just wonder if the classpath issue has been fixed. I still get:

                    HTTP ERROR: 404 Could not find resource for /esb/servlet/esb.web.XmlHttp
                    RequestURI=/esb/servlet/esb.web.XmlHttp

                    (see my 2 posts above)

                    I cannott use Jetty with Struts i18n if this won't be fixed

                    Thanks

                    • 7. Re: JBoss 3.0: Not setting jetty classpath
                      jules_gosnell


                      What OS are you on ? Windows I suspect ?

                      I have JSP classpath working fine on Linux - struts deploys and (brief test only) works.....

                      Post me a log of the problem happening - including JSP classpath, and if you ARE on Windows, try to figure out what is going on - if you can let me know, there is a much better chance of my fixing it quickly, otherwise I have to go set up a Windows environment....


                      Jules

                      • 8. Re: JBoss 3.0: Not setting jetty classpath
                        twhphan

                        Hi, Thanks for your reply and suggestion :) I'm using RH Linux 7.0/JDK 1.3

                        To reproduce the problem, you can just write any servlet, and package it under WEB-INF/classes

                        e.g.:

                        [root@dev classes]# ls -l /tmp/Jetty__8080___esb/webapp/WEB-INF/classes/esb/web/QueryServlet.class
                        -rw-r--r-- 1 root root 3505 Apr 5 12:54 /tmp/Jetty__8080___esb/webapp/WEB-INF/classes/esb/web/QueryServlet.class
                        [root@dev classes]#

                        then access it using http://dev.entersys.com:8080/esb/servlet/esb.web.QueryServlet.

                        13:12:14,499 INFO [STDOUT] 2085948 [SocketListener-4] WARN org.jboss.jetty.Jetty - WARNING: Dynamic servlet esb.web.QueryServlet is not loaded from context: /esb
                        13:12:14,501 WARN [Jetty] WARNING:
                        javax.servlet.UnavailableException: Dynamic servlet esb.web.QueryServlet is not loaded from context: /esb
                        at org.mortbay.jetty.servlet.ServletHandler.getHolderEntry(ServletHandler.java:733)
                        at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:560)
                        at org.mortbay.http.HttpContext.handle(HttpContext.java:1356)
                        at org.mortbay.http.HttpContext.handle(HttpContext.java:1309)
                        at org.mortbay.http.HttpServer.service(HttpServer.java:744)
                        at org.jboss.jetty.Jetty.service(Jetty.java:530)
                        at org.mortbay.http.HttpConnection.service(HttpConnection.java:743)
                        at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:916)
                        at org.mortbay.http.HttpConnection.handle(HttpConnection.java:758)
                        at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:145)
                        at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:287)
                        at org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:715)
                        at java.lang.Thread.run(Thread.java:484)

                        This can be done in Tomcat.

                        ----------
                        For Struts, I use its i18n. To do that, I follow the instruction below (http://jakarta.apache.org/struts/doc-1.0.2/userGuide/building_view.html)


                        Assume that your source code is created in package
                        com.mycompany.mypackage, so it is stored in a directory
                        (relative to your source directory) named
                        com/mycompany/mypackage. To create a resource bundle called
                        com.mycompany.mypackage.MyResources, you would create the
                        following files in the com/mycompany/mypackage directory:



                        MyResources.properties - Contains the messages in the default
                        language for your server. If your default language is English, you
                        might have an entry like this:
                        prompt.hello=Hello
                        MyResources_xx.properties - Contains the same messages in the
                        language whose ISO language code is "xx" (See the ResourceBundle
                        Javadoc page for a link to the current list). For a French version
                        of the message shown above, you would have this entry:
                        prompt.hello=Bonjour
                        You can have resource bundle files for as many languages as you need.



                        When you configure the controller servlet in the web application
                        deployment descriptor, one of the things you will need to define in
                        an initialization parameter is the base name of the resource bundle
                        for the application. In the case described above, it would be
                        com.mycompany.mypackage.MyResources.



                        <servlet-name>action</servlet-name>
                        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
                        <init-param>
                        <param-name>application</param-name>
                        <param-value>com.mycompany.mypackage.MyResources</param-value>
                        </init-param>
                        <.../>



                        So, I've

                        <servlet-name>action</servlet-name>
                        <servlet-class>esb.web.ActionServlet</servlet-class>

                        <init-param>
                        <param-name>application</param-name>
                        <param-value>esb.web.ESBResources</param-value>
                        </init-param>

                        where esb.web.ActionServlet is org.apache.struts.action.ActionServlet's subclass, and

                        [root@dev classes]# cat /tmp/Jetty__8080___esb/webapp/WEB-INF/classes/esb/web/ESBResources.properties | head -10
                        button.cancel=Cancel
                        button.confirm=Confirm
                        button.reset=Reset
                        button.save=Save
                        button.delete=Delete
                        button.edit=Edit
                        button.new=New
                        button.next=Next
                        button.previous=Previous
                        database.load=Cannot load database from {0}
                        [root@dev classes]# cat /tmp/Jetty__8080___esb/webapp/cms/user/search.jsp
                        <%@ page language="java" %>
                        <%@ page contentType="text/html; charset=UTF-8" %>
                        <%@ taglib uri="/WEB-INF/tlds/taglib.tld" prefix="esb" %>
                        <%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
                        <%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>

                        ...

                        <html:form action="/cms/user/edit">
                        <html:submit>
                        <bean:message key="button.new"/>
                        </html:submit>
                        </html:form>

                        Note that <bean:message key="button.new"/> is the taglib that causes the problem here:

                        2002-04-05 12:42:24,110 WARN [org.jboss.jetty.Jetty] WARNING: Servlet Exception for /esb/cms/user/search.esb
                        javax.servlet.jsp.JspException: Missing message for key button.new
                        at org.apache.struts.taglib.bean.MessageTag.doStartTag(MessageTag.java:242)
                        at org.apache.jsp.search$jsp._jspService(search$jsp.java:238)
                        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
                        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
                        at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:202)
                        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:382)
                        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:474)
                        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
                        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:326)
                        at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:259)
                        at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:156)
                        at org.apache.struts.action.ActionServlet.processActionForward(ActionServlet.java:1759)
                        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1596)
                        at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:492)
                        at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
                        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
                        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:326)
                        at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:595)
                        at org.mortbay.http.HttpContext.handle(HttpContext.java:1356)
                        at org.mortbay.http.HttpContext.handle(HttpContext.java:1309)
                        at org.mortbay.http.HttpServer.service(HttpServer.java:744)
                        at org.jboss.jetty.Jetty.service(Jetty.java:530)
                        at org.mortbay.http.HttpConnection.service(HttpConnection.java:743)
                        at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:916)
                        at org.mortbay.http.HttpConnection.handle(HttpConnection.java:758)
                        at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:145)
                        at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:287)
                        at org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:715)
                        at java.lang.Thread.run(Thread.java:484)

                        • 9. Re: JBoss 3.0: Not setting jetty classpath
                          jules_gosnell

                          OK,

                          firstly this is NOT a classpath problem - the clue is in the warning:

                          WARNING: Dynamic servlet esb.web.QueryServlet is not loaded from context: /esb

                          You are using dynamic servlet loading from the 'servlet' context. I stand open to correction here, but I think that this is a proprietary loading scheme, used by TC and which Jetty can be configured to support. The J2EE way, which I contend that you should be using, is to specify a servlet-mapping in you web.xml. This will be appended to your context path (derived either from your application.xml, if you are an ear, or your jboss-web.xml, or your war name - foo.war->/foo).

                          Try accessing your servlet at /<war-name> (substitute the nme of the war).

                          The second problem looks like a misuse, or bug in, JSP/Struts. Jetty is only mentioned on the stacktrace because that is what you are running in. There is no mention of classpath problems, or ClassNotFound...


                          Have I misunderstood?



                          Jules

                          • 10. Re: JBoss 3.0: Not setting jetty classpath
                            twhphan

                            Hi, thanks very much :D

                            I'm sorry for asking the first question, and I'm happy to go with the J2EE approach, and that's working fine now.

                            For Struts, did you put struts.jar in jboss/lib/? org.apache.struts.action.ActionServlet cannot be loaded if struts.jar is only in the WAR's WEB-INF/lib/

                            My second question may relate to classpath, since the resources bundle classes (i.e. my ESBResources.properties) may not be loaded due to the classpath's configuration.

                            [root@dev script]# ls /tmp/Jetty__8080___esb/webapp/WEB-INF/classes/esb/web/ESBResources*
                            /tmp/Jetty__8080___esb/webapp/WEB-INF/classes/esb/web/ESBResources.properties
                            /tmp/Jetty__8080___esb/webapp/WEB-INF/classes/esb/web/ESBResources_zh_TW.properties
                            [root@dev script]#

                            I used the exact same code, and deploy Struts with JBoss/Tomcat, and that works. Although Tomcat works for 99% of my code now, I believe that Jetty is a faster and better web server :)

                            01:16:23,704 INFO [JBossWebApplicationContext#/esb] JSP classpath: /tmp/Jetty__8080___esb/webapp/WEB-INF/lib/struts.jar:/tmp/Jetty__8080___esb/webapp/WEB-INF/lib/regexp.jar:/tmp/Jetty__8080___esb/webapp/WEB-INF/lib/log4j.jar:/tmp/Jetty__8080___esb/webapp/WEB-INF/classes:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/crimson.jar/25.crimson.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/javagroups-2.0.jar/17.javagroups-2.0.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/org.apache.jasper.jar/8.org.apache.jasper.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/autonumber-plugin.jar/28.autonumber-plugin.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/jboss-boot.jar/16.jboss-boot.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/tyrex.jar/49.tyrex.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/jboss-pool.jar/31.jboss-pool.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/javax.servlet.jar/38.javax.servlet.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/hsqldb.jar/22.hsqldb.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/castor.jar/6.castor.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/scheduler-plugin.jar/19.scheduler-plugin.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/jts.jar/12.jts.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/jbossmq.jar/35.jbossmq.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/jmxtools.jar/3.jmxtools.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/counter-plugin.jar/53.counter-plugin.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/jboss-management.jar/9.jboss-management.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/jboss-jmx-core.jar/21.jboss-jmx-core.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/jboss-jca.jar/10.jboss-jca.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/deploy/jetty-plugin.sar/57.jetty-plugin.sar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/concurrent.jar/18.concurrent.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/jboss-j2ee.jar/37.jboss-j2ee.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/deploy/jmx-ejb-connector-server.sar/54.jmx-ejb-connector-server.sar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/esb-web.war:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/mail-plugin.jar/34.mail-plugin.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/deploy/jms-ra.rar/70.jms-ra.rar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/activation.jar/32.activation.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/jboss-jsr77.jar/20.jboss-jsr77.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/getopt.jar/42.getopt.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/scheduler-plugin-example.jar/14.scheduler-plugin-example.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/mail.jar/2.mail.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/rowset.jar/45.rowset.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/deploy/ejb-management.jar/74.ejb-management.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/jmxri.jar/33.jmxri.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/esb.scheduler.jar/60.esb.scheduler.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/jboss.jar/27.jboss.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/jaas.jar/46.jaas.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/jpl-pattern.jar/51.jpl-pattern.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/jboss-jmx-services.jar/15.jboss-jmx-services.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/jsse.jar/52.jsse.jar:/tmp/nested-14796.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/esb/dist/esb.scheduler.jar/47.esb.scheduler.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/jndi.jar/7.jndi.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/jpl-util.jar/30.jpl-util.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/hsqldb-plugin.jar/4.hsqldb-plugin.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/deploy/jboss-jdbc.rar/71.jboss-jdbc.rar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/jbossmqha.jar/43.jbossmqha.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/jboss-common.jar/29.jboss-common.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/jaxp.jar/24.jaxp.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/jbossmx.jar/40.jbossmx.jar:/tmp/nested-14792.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/deploy/esb.ear/75.esb.ear:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/jcert.jar/39.jcert.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/deploy/jmx-ejb-adaptor.jar/73.jmx-ejb-adaptor.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/conf:/tmp/nested-14794.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/bcel.jar/11.bcel.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/deploy/jmx-rmi-adaptor.sar/55.jmx-rmi-adaptor.sar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/jboss-system.jar/41.jboss-system.jar:/tmp/nested-14798.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/jbosssx.jar/44.jbosssx.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/xalan.jar/23.xalan.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/deploy/jmx-html-adaptor.sar/56.jmx-html-adaptor.sar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/gnu-regexp.jar/48.gnu-regexp.jar:/tmp/nested-14800.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/jnpserver.jar/50.jnpserver.jar:/tmp/nested-14802.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/log4j.jar/13.log4j.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/mm.mysql-2.0.11-bin.jar/5.mm.mysql-2.0.11-bin.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/jbossha.jar/26.jbossha.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/lib/jnet.jar/36.jnet.jar:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/deploy/jboss-xa.rar/72.jboss-xa.rar:/var/jboss-all/build/output/jboss-3.0.0beta2/bin/run.jar:/usr/java/jdk1.3/lib/tools.jar
                            01:16:23,880 INFO [JaasSecurityManagerService] Created securityMgr=org.jboss.security.plugins.JaasSecurityManager@1977bd
                            01:16:23,881 INFO [JaasSecurityManagerService] setCachePolicy, c=org.jboss.util.TimedCachePolicy@42d9a
                            01:16:23,882 INFO [JaasSecurityManagerService] Added esb, org.jboss.security.plugins.SecurityDomainContext@4e00b4 to map
                            01:16:23,885 INFO [Jetty] Started JBossWebApplicationContext$JBossSXSecurityHandler in WebApplicationContext[/esb,jar:file:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/esb-web.war!/]
                            01:16:23,887 INFO [Jetty] Started JBossWebApplicationContext$JBossSXSecurityHandler in WebApplicationContext[/esb,jar:file:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/esb-web.war!/]
                            01:16:23,893 INFO [Jetty] Started SecurityHandler in WebApplicationContext[/esb,jar:file:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/esb-web.war!/]
                            01:16:23,895 INFO [Jetty] Started WebInfProtect
                            01:16:23,897 INFO [Jetty] Started FilterHandler in WebApplicationContext[/esb,jar:file:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/esb-web.war!/]
                            01:16:23,899 INFO [Jetty] Started ServletHandler in WebApplicationContext[/esb,jar:file:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/esb-web.war!/]
                            01:16:24,844 INFO [Jetty] JSP: init
                            01:16:27,010 ERROR [MainDeployer] could not start deployment :file:/var/jboss-all/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/esb-web.war
                            java.lang.NoClassDefFoundError: org/apache/struts/action/ActionServlet
                            at java.lang.ClassLoader.defineClass0(Native Method)
                            at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
                            at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:111)
                            at java.net.URLClassLoader.defineClass(URLClassLoader.java:248)
                            at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
                            at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
                            at java.security.AccessController.doPrivileged(Native Method)
                            at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
                            at java.lang.ClassLoader.loadClass(ClassLoader.java:297)
                            at org.jboss.system.UnifiedClassLoader.loadClassLocally(UnifiedClassLoader.java:96)
                            at org.jboss.system.ServiceLibraries.loadClass(ServiceLibraries.java:403)
                            at org.jboss.system.MBeanClassLoader.loadClass(MBeanClassLoader.java:85)
                            at java.lang.ClassLoader.loadClass(ClassLoader.java:290)
                            at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:553)
                            at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
                            at org.mortbay.http.ContextLoader.loadClass(ContextLoader.java:217)
                            at org.mortbay.http.ContextLoader.loadClass(ContextLoader.java:201)
                            at org.mortbay.http.HttpContext.loadClass(HttpContext.java:626)
                            at org.mortbay.jetty.servlet.Holder.start(Holder.java:152)
                            at org.mortbay.jetty.servlet.ServletHolder.start(ServletHolder.java:182)
                            at org.mortbay.jetty.servlet.ServletHandler.initializeServlets(ServletHandler.java:403)
                            at org.mortbay.jetty.servlet.ServletHandler.start(ServletHandler.java:384)
                            at org.mortbay.jetty.servlet.FilterHandler.start(FilterHandler.java:160)
                            at org.mortbay.http.HttpContext.startHandlers(HttpContext.java:1454)
                            at org.jboss.jetty.JBossWebApplicationContext.startHandlers(JBossWebApplicationContext.java:306)
                            at org.mortbay.http.HttpContext.start(HttpContext.java:1425)
                            at org.mortbay.jetty.servlet.WebApplicationContext.start(WebApplicationContext.java:405)
                            at org.jboss.jetty.Jetty.deploy(Jetty.java:406)
                            at org.jboss.jetty.JettyService.performDeploy(JettyService.java:244)
                            at org.jboss.web.AbstractWebContainer.start(AbstractWebContainer.java:392)
                            at org.jboss.deployment.MainDeployer.start(MainDeployer.java:672)
                            at org.jboss.deployment.MainDeployer.start(MainDeployer.java:665)
                            at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:517)
                            at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:480)
                            at java.lang.reflect.Method.invoke(Native Method)
                            at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
                            at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:441)
                            at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)
                            at $Proxy5.deploy(Unknown Source)
                            at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:329)
                            at org.jboss.deployment.scanner.URLDeploymentScanner.scanDirectory(URLDeploymentScanner.java:516)
                            at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:389)
                            at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:237)
                            at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:162)
                            at java.lang.reflect.Method.invoke(Native Method)
                            at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
                            at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:441)
                            at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:805)
                            at $Proxy1.start(Unknown Source)
                            at org.jboss.system.ServiceController.start(ServiceController.java:309)
                            at org.jboss.system.ServiceController.start(ServiceController.java:327)
                            at java.lang.reflect.Method.invoke(Native Method)
                            at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
                            at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:441)
                            at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:324)
                            at org.jboss.system.server.ServerImpl.start(ServerImpl.java:213)
                            at org.jboss.Main.boot(Main.java:138)
                            at org.jboss.Main$1.run(Main.java:371)
                            at java.lang.Thread.run(Thread.java:484)

                            • 11. Re: JBoss 3.0: Not setting jetty classpath
                              jules_gosnell

                              To deploy a war - drop it into the 'deploy' directory.

                              Jules

                              • 12. Re: JBoss 3.0: Not setting jetty classpath
                                twhphan

                                My WAR is inside an EAR, and I have my EAR in the deploy directory

                                The struts.jar is in my WAR's WEB-INF/lib

                                • 13. Re: JBoss 3.0: Not setting jetty classpath
                                  jules_gosnell

                                  OK,

                                  If your CVS tree is up to date and you are still seeing this problem then:

                                  if it's less than 5mb send me the war.

                                  If it's larger, but you can get it to an ftp site, let me know where.

                                  I can deploy struts-*.war and run 99% of the tests.


                                  I have not written an app on top of it so I cannot be sure whether it works.


                                  Jules

                                  • 14. Re: JBoss 3.0: Not setting jetty classpath
                                    thpopes

                                    Hello All.

                                    i WAS experiencing this issue

                                    org.apache.jasper.JasperException: JASPER: Unable to compile class for JSPNote: sun.tools.javac.Main has been deprecated

                                    on [ WIndows 2000 - Jboss v3.0.2 and Jetty]

                                    The problem stemmed from Jasper's inability to find a jar which was in my classpath. Two days prior to the error everything worked beautifully. I moved onto another project. When i returned to the original project (with few changes) i fell upon this error.

                                    My solution was to delete my entire Jboss install and reinstall. Everything works beautifully again. I imagine i corrupted something while working on the second app.

                                    I hope this helps.

                                    1 2 Previous Next