Jar files not in WEB-INF/lib (custom ClassLoader?)

I need to use classes in my JSP that do not come from a JAR file in the standard location. Sounds like I "simply" need to extend the ClassLoader used by the app server for loading the JSP. Is there any way of doing that?
Example: my.jsp
<h1>Hi</h1>
<%
FOO x = new FOO(); // code from a non-standard place
ClassLoader cl = getClass().getClassLoader();
%>
I cannot put FOO.class into WEB-INF/lib or any of the standard places. Ideally I'd like to give the ClassLoader (cl above) a different (custom) parent ClassLoader which would know how to resolve FOO.class.
I've poured over docs and Google and WebSphere and the Tomcat source code. Is this request of mine really so outrageous? I'm about the give up. What good are custom classloaders if one can't use them?

You are essentially making the argument "All that Java
needs is a URLClassLoader, and no one has any need for
any custom ClassLoaders". (After all, that's all that
I seem to have in a JSP context, with a list of
hard-coded URLs into that URLClassLoader ...)
Do a Google search on "custom ClassLoader" and you
will find lots of reasons why people want to have
custom ClassLoaders, such as ones that don't use any
JAR or .class files ... which would qualify as why I
can't put them into a certain place ...To be fair to duffymo, that is not how I read his argument. I read it as:
"Sometimes we try to do things the hard way. If we sit back and rethink the problem, an easier solution might come about."
I think this is a good opportunity to explain why you can not use the normal class loader heirarchy. You have no JARs and no .class files? Then where are you getting the class definitions? If you explain enough so that we might understand the problem:
1) we might be able to come up with a solution or
2) you might see a different approach before you are even done explaining
#2 has happened to me more times then I can count. I sit down formulating a question for the forums, make sure I include enough detail to explain my problem. And by the time I am done I have a new (usually simpler) approach to solving the problem.
Or you could sit and defend your first approach without providing any context and accomplish nothing. So its up to you.

Similar Messages

  • ContextConfig[]: Exception processing JAR at resource path /WEB-INF/lib/..

    Hi,
    The application deployment works fine with Tomcat 4.0.6.
    Now I'm trying to upgrade to Tomcat 4.1.24 and am getting this exception...
    Using CATALINA_BASE: /users/home/cjain/nls/projects/CKJ_loaddb/java/deploy
    Using CATALINA_HOME: /nls/apps/tomcat
    Using CATALINA_TMPDIR: /users/home/cjain/nls/projects/CKJ_loaddb/java/deploy/temp
    Using JAVA_HOME: /nls/apps/jdk
    May 16, 2003 3:26:05 PM org.apache.coyote.http11.Http11Protocol init
    INFO: Initializing Coyote HTTP/1.1 on port 80
    Starting service Tomcat-Standalone
    Apache Tomcat/4.1.24
    HostConfig[localhost]: Expanding web application archive ROOT.war
    StandardHost[localhost]: Installing web application at context path from URL file:/users/home/cjain/nls/projects/CKJ_loaddb/java/deploy/webapps/ROOT
    WebappLoader[]: Deploying class repositories to work directory /users/home/cjain/nls/projects/CKJ_loaddb/java/deploy/work/Standalone/localhost/_
    WebappLoader[]: Deploy class files /WEB-INF/classes to /users/home/cjain/nls/projects/CKJ_loaddb/java/deploy/webapps/ROOT/WEB-INF/classes
    WebappLoader[]: Deploy JAR /WEB-INF/lib/jnlp-servlet.jar to /users/home/cjain/nls/projects/CKJ_loaddb/java/deploy/webapps/ROOT/WEB-INF/lib/jnlp-servlet.jar
    ContextConfig[]: Exception processing JAR at resource path /WEB-INF/lib/jnlp-servlet.jar
    javax.servlet.ServletException: Exception processing JAR at resource path /WEB-INF/lib/jnlp-servlet.jar
    javax.servlet.ServletException: Exception processing JAR at resource path /WEB-INF/lib/jnlp-servlet.jar
    at org.apache.catalina.startup.ContextConfig.tldScanJar(ContextConfig.java:930)
    at org.apache.catalina.startup.ContextConfig.tldScan(ContextConfig.java:868)
    at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:647)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:243)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:166)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:3567)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:821)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:579)
    at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:307)
    at org.apache.catalina.core.StandardHost.install(StandardHost.java:772)
    at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:492)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:400)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:718)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:358)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:166)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1196)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:738)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:347)
    at org.apache.catalina.core.StandardService.start(StandardService.java:497)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:2190)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:512)
    at org.apache.catalina.startup.Catalina.execute(Catalina.java:400)
    at org.apache.catalina.startup.Catalina.process(Catalina.java:180)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:203)
    ContextConfig[]: Marking this application unavailable due to previous error(s)
    Any ideas what I'm doing wrong?
    Thanks,
    chet

    Found the solution...
    The deploy directory needs to have a temp directory in
    it!!!!We have had this problem too when upgrading to 4.1.27 but are confused about which directory should have a temp directory under it, and what the permission should be. Could someone enlighten us ?
    Thanks
    Janet

  • [svn] 1494: + Copy jgroups.jar to qa-regress/WEB-INF/lib folder

    Revision: 1494
    Author: [email protected]
    Date: 2008-04-30 12:29:37 -0700 (Wed, 30 Apr 2008)
    Log Message:
    + Copy jgroups.jar to qa-regress/WEB-INF/lib folder
    + Add a clustered destination to remoting-config.mods.xml for codecoverage
    + Add url-load-balancing,class and default attributes to cluster definition in services-config.mods.xml for codecoverage
    checkintests: passed
    Modified Paths:
    blazeds/trunk/qa/apps/qa-regress/WEB-INF/flex/remoting-config.mods.xml
    blazeds/trunk/qa/apps/qa-regress/WEB-INF/flex/services-config.mods.xml
    blazeds/trunk/qa/apps/qa-regress/build.xml

    Please see following Sun Alert.
    http://sunsolve.sun.com/search/document.do?assetkey=1-26-101905-1
    The document contains links to the patches that fix this problem.

  • Project librarys not included in WAR file with deployment (WEB-INF/lib)

    Using JDeveloper 9.0.5.2
    Project Libraries are not included in WEB-INF/lib when deploying. Although the files are selected in the deployment file at 'Contributors'. Within the 'filter' the .jar files are missing.
    To solve it i have to register again (i have already made the librarys project library's) the files within Tools->ManageLibrarys as user library's.
    The other workaround is to make the library's System Library's within the project.
    In my opinion it is a bug that you must include the project librarys as user librarys within the 'LibraryManager'

    Unfortunately no, the issue with output folder being ignored occurs only with example apps bundled with Workshop product.
    You can try the following workaround:
    - In Workshop, Project > Properties - Java Build Path, switch to Source tab - "Remove the source folder listing" - Click OK and dismiss Properties window.
    - Project > Properties - Java Build Path > Source Tab, add the same source folder entry - Click OK
    - Export as WAR
    With this you should see the class files bundled under output directory structure (Ex: WEB-INF/classes).

  • JAR Files not found from /WEB-INF/lib

    It appears that weblogic server (6.1 SP2 I believe) is not finding all
    the jar files in the /WEB-INF/lib directory. Some, but not all. I am
    not using a WAR file, the dirctories are right on the disk. I start
    out with the following jar files in my WEB-INF/lib directory:
    Volume in drive C has no label.
    Volume Serial Number is 641F-B7A0
    Directory of C:\bea\wlserver6.1\config\mydomain\applications\garyapp\WEB-INF\li
    b
    02/13/2002 11:34a <DIR> .
    02/13/2002 11:34a <DIR> ..
    01/25/2002 09:44a 45,386 activation-1.0.1.jar
    01/07/2002 04:49p 1,124,276 classes12.jar
    01/25/2002 09:44a 379,658 ecs-1.4.1.jar
    01/25/2002 09:44a 175,666 hsql.jar
    01/25/2002 09:44a 76,964 httpunit.jar
    01/25/2002 09:44a 236,041 idb.jar
    01/25/2002 09:44a 29,937 jakarta-regexp-1.3-dev.jar
    01/25/2002 09:44a 84,854 jdbc-se2.0.jar
    01/25/2002 09:44a 6,727 jdbc2_0-stdext.jar
    01/25/2002 09:44a 98,496 jndi-1.2.1.jar
    01/25/2002 09:44a 17,619 jta1.0.1.jar
    01/25/2002 09:44a 97,382 junit-3.2.jar
    01/25/2002 09:44a 152,037 log4j-1.1.jar
    01/25/2002 09:44a 280,984 mail-1.2.jar
    01/25/2002 09:44a 109,927 mm.mysql-2.0.4.jar
    01/25/2002 09:44a 76,734 oro.jar
    01/25/2002 09:44a 194,500 postgresql.jar
    01/25/2002 09:44a 4,041 README.txt
    01/25/2002 09:44a 208,635 sapdbc.jar
    02/13/2002 11:21a 216,879 STT.jar
    02/08/2002 12:15p 707,897 turbine-2.2b1.jar
    01/25/2002 09:44a 369,494 velocity-1.2-dev.jar
    01/25/2002 09:44a 31,326 village-1.5.1.jar
    01/25/2002 09:44a 436,094 xalan-1.2.1.jar
    01/25/2002 09:44a 840,704 xerces-1.3.0.jar
    01/25/2002 09:44a 47,926 xmlrpc.jar
    26 File(s) 6,050,184 bytes
    2 Dir(s) 29,539,246,080 bytes free
    When I run the server, only these files are put in the tmp_war
    directory:
    Volume in drive C has no label.
    Volume Serial Number is 641F-B7A0
    Directory of C:\bea\wlserver6.1\config\mydomain\applications\garyapp\WEB-INF\_t
    mp_war_myserver_myserver_garyapp\WEB-INF\lib
    02/15/2002 12:31p <DIR> .
    02/15/2002 12:31p <DIR> ..
    02/15/2002 12:31p 1,124,276 classes1263855.jar
    02/15/2002 12:31p 175,666 hsql63856.jar
    02/15/2002 12:31p 76,964 httpunit63857.jar
    02/15/2002 12:31p 236,041 idb63858.jar
    02/15/2002 12:31p 6,727 jdbc2_0-stdext63859.jar
    02/15/2002 12:31p 76,734 oro63860.jar
    02/15/2002 12:31p 194,500 postgresql63861.jar
    02/15/2002 12:31p 208,635 sapdbc63862.jar
    02/15/2002 12:31p 216,879 STT63863.jar
    02/15/2002 12:31p 47,926 xmlrpc63864.jar
    10 File(s) 2,364,348 bytes
    2 Dir(s) 29,539,078,144 bytes free
    It's not only that the files don't show up, of course: if I run the
    system and it makes references to the files, I get a
    ClassNotFoundException:
    <Feb 15, 2002 12:32:39 PM EST> <Error> <HTTP>
    <[WebAppServletContext(7243997,gar
    yapp,/garyapp)] Error loading servlet: "garyapp"
    java.lang.ClassNotFoundException: org.apache.turbine.Turbine
    at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClass
    Loader.java:179)
    at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAw
    areClassLoader.java:65)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:297)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
    at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAw
    areClassLoader.java:43)
    at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubI
    mpl.java:583)
    at weblogic.servlet.internal.ServletStubImpl.getServlet(ServletStubImpl.
    java:368)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:242)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:200)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
    rvletContext.java:2495)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
    pl.java:2204)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    >
    <Feb 15, 2002 12:32:39 PM EST> <Error> <HTTP>
    <[WebAppServletContext(7243997,gar
    yapp,/garyapp)] Servlet failed with ServletException
    javax.servlet.ServletException: Servlet class:
    'org.apache.turbine.Turbine' coul
    d not be loaded - the requested class wasn't found in the classpath:
    'C:\bea\wl
    server6.1\config\mydomain\applications\garyapp;C:\bea\wlserver6.1\.\config\mydom
    ain\applications\garyapp\WEB-INF\classes;C:\bea\wlserver6.1\.\config\mydomain\ap
    plications\garyapp\WEB-INF\_tmp_war_myserver_myserver_garyapp\WEB-INF\lib\classe
    s1263855.jar;C:\bea\wlserver6.1\.\config\mydomain\applications\garyapp\WEB-INF\_
    tmp_war_myserver_myserver_garyapp\WEB-INF\lib\hsql63856.jar;C:\bea\wlserver6.1\.
    \config\mydomain\applications\garyapp\WEB-INF\_tmp_war_myserver_myserver_garyapp
    \WEB-INF\lib\httpunit63857.jar;C:\bea\wlserver6.1\.\config\mydomain\applications
    \garyapp\WEB-INF\_tmp_war_myserver_myserver_garyapp\WEB-INF\lib\idb63858.jar;C:\
    bea\wlserver6.1\.\config\mydomain\applications\garyapp\WEB-INF\_tmp_war_myserver
    myservergaryapp\WEB-INF\lib\jdbc2_0-stdext63859.jar;C:\bea\wlserver6.1\.\confi
    g\mydomain\applications\garyapp\WEB-INF\_tmp_war_myserver_myserver_garyapp\WEB-I
    NF\lib\oro63860.jar;C:\bea\wlserver6.1\.\config\mydomain\applications\garyapp\WE
    B-INF\_tmp_war_myserver_myserver_garyapp\WEB-INF\lib\postgresql63861.jar;C:\bea\
    wlserver6.1\.\config\mydomain\applications\garyapp\WEB-INF\_tmp_war_myserver_mys
    erver_garyapp\WEB-INF\lib\sapdbc63862.jar;C:\bea\wlserver6.1\.\config\mydomain\a
    pplications\garyapp\WEB-INF\_tmp_war_myserver_myserver_garyapp\WEB-INF\lib\STT63
    863.jar;C:\bea\wlserver6.1\.\config\mydomain\applications\garyapp\WEB-INF\_tmp_w
    ar_myserver_myserver_garyapp\WEB-INF\lib\xmlrpc63864.jar'
    at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubI
    mpl.java:594)
    at weblogic.servlet.internal.ServletStubImpl.getServlet(ServletStubImpl.
    java:368)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:242)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:200)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
    rvletContext.java:2495)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
    pl.java:2204)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    >

    Please open a case with support on this issue.
    Thanks,
    Michael
    Gary Bisaga wrote:
    It appears that weblogic server (6.1 SP2 I believe) is not finding all
    the jar files in the /WEB-INF/lib directory. Some, but not all. I am
    not using a WAR file, the dirctories are right on the disk. I start
    out with the following jar files in my WEB-INF/lib directory:
    Volume in drive C has no label.
    Volume Serial Number is 641F-B7A0
    Directory of C:\bea\wlserver6.1\config\mydomain\applications\garyapp\WEB-INF\li
    b
    02/13/2002 11:34a <DIR> .
    02/13/2002 11:34a <DIR> ..
    01/25/2002 09:44a 45,386 activation-1.0.1.jar
    01/07/2002 04:49p 1,124,276 classes12.jar
    01/25/2002 09:44a 379,658 ecs-1.4.1.jar
    01/25/2002 09:44a 175,666 hsql.jar
    01/25/2002 09:44a 76,964 httpunit.jar
    01/25/2002 09:44a 236,041 idb.jar
    01/25/2002 09:44a 29,937 jakarta-regexp-1.3-dev.jar
    01/25/2002 09:44a 84,854 jdbc-se2.0.jar
    01/25/2002 09:44a 6,727 jdbc2_0-stdext.jar
    01/25/2002 09:44a 98,496 jndi-1.2.1.jar
    01/25/2002 09:44a 17,619 jta1.0.1.jar
    01/25/2002 09:44a 97,382 junit-3.2.jar
    01/25/2002 09:44a 152,037 log4j-1.1.jar
    01/25/2002 09:44a 280,984 mail-1.2.jar
    01/25/2002 09:44a 109,927 mm.mysql-2.0.4.jar
    01/25/2002 09:44a 76,734 oro.jar
    01/25/2002 09:44a 194,500 postgresql.jar
    01/25/2002 09:44a 4,041 README.txt
    01/25/2002 09:44a 208,635 sapdbc.jar
    02/13/2002 11:21a 216,879 STT.jar
    02/08/2002 12:15p 707,897 turbine-2.2b1.jar
    01/25/2002 09:44a 369,494 velocity-1.2-dev.jar
    01/25/2002 09:44a 31,326 village-1.5.1.jar
    01/25/2002 09:44a 436,094 xalan-1.2.1.jar
    01/25/2002 09:44a 840,704 xerces-1.3.0.jar
    01/25/2002 09:44a 47,926 xmlrpc.jar
    26 File(s) 6,050,184 bytes
    2 Dir(s) 29,539,246,080 bytes free
    When I run the server, only these files are put in the tmp_war
    directory:
    Volume in drive C has no label.
    Volume Serial Number is 641F-B7A0
    Directory of C:\bea\wlserver6.1\config\mydomain\applications\garyapp\WEB-INF\_t
    mp_war_myserver_myserver_garyapp\WEB-INF\lib
    02/15/2002 12:31p <DIR> .
    02/15/2002 12:31p <DIR> ..
    02/15/2002 12:31p 1,124,276 classes1263855.jar
    02/15/2002 12:31p 175,666 hsql63856.jar
    02/15/2002 12:31p 76,964 httpunit63857.jar
    02/15/2002 12:31p 236,041 idb63858.jar
    02/15/2002 12:31p 6,727 jdbc2_0-stdext63859.jar
    02/15/2002 12:31p 76,734 oro63860.jar
    02/15/2002 12:31p 194,500 postgresql63861.jar
    02/15/2002 12:31p 208,635 sapdbc63862.jar
    02/15/2002 12:31p 216,879 STT63863.jar
    02/15/2002 12:31p 47,926 xmlrpc63864.jar
    10 File(s) 2,364,348 bytes
    2 Dir(s) 29,539,078,144 bytes free
    It's not only that the files don't show up, of course: if I run the
    system and it makes references to the files, I get a
    ClassNotFoundException:
    <Feb 15, 2002 12:32:39 PM EST> <Error> <HTTP>
    <[WebAppServletContext(7243997,gar
    yapp,/garyapp)] Error loading servlet: "garyapp"
    java.lang.ClassNotFoundException: org.apache.turbine.Turbine
    at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClass
    Loader.java:179)
    at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAw
    areClassLoader.java:65)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:297)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
    at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAw
    areClassLoader.java:43)
    at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubI
    mpl.java:583)
    at weblogic.servlet.internal.ServletStubImpl.getServlet(ServletStubImpl.
    java:368)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:242)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:200)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
    rvletContext.java:2495)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
    pl.java:2204)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    >
    <Feb 15, 2002 12:32:39 PM EST> <Error> <HTTP>
    <[WebAppServletContext(7243997,gar
    yapp,/garyapp)] Servlet failed with ServletException
    javax.servlet.ServletException: Servlet class:
    'org.apache.turbine.Turbine' coul
    d not be loaded - the requested class wasn't found in the classpath:
    'C:\bea\wl
    server6.1\config\mydomain\applications\garyapp;C:\bea\wlserver6.1\.\config\mydom
    ain\applications\garyapp\WEB-INF\classes;C:\bea\wlserver6.1\.\config\mydomain\ap
    plications\garyapp\WEB-INF\_tmp_war_myserver_myserver_garyapp\WEB-INF\lib\classe
    s1263855.jar;C:\bea\wlserver6.1\.\config\mydomain\applications\garyapp\WEB-INF\_
    tmp_war_myserver_myserver_garyapp\WEB-INF\lib\hsql63856.jar;C:\bea\wlserver6.1\.
    \config\mydomain\applications\garyapp\WEB-INF\_tmp_war_myserver_myserver_garyapp
    \WEB-INF\lib\httpunit63857.jar;C:\bea\wlserver6.1\.\config\mydomain\applications
    \garyapp\WEB-INF\_tmp_war_myserver_myserver_garyapp\WEB-INF\lib\idb63858.jar;C:\
    bea\wlserver6.1\.\config\mydomain\applications\garyapp\WEB-INF\_tmp_war_myserver
    myservergaryapp\WEB-INF\lib\jdbc2_0-stdext63859.jar;C:\bea\wlserver6.1\.\confi
    g\mydomain\applications\garyapp\WEB-INF\_tmp_war_myserver_myserver_garyapp\WEB-I
    NF\lib\oro63860.jar;C:\bea\wlserver6.1\.\config\mydomain\applications\garyapp\WE
    B-INF\_tmp_war_myserver_myserver_garyapp\WEB-INF\lib\postgresql63861.jar;C:\bea\
    wlserver6.1\.\config\mydomain\applications\garyapp\WEB-INF\_tmp_war_myserver_mys
    erver_garyapp\WEB-INF\lib\sapdbc63862.jar;C:\bea\wlserver6.1\.\config\mydomain\a
    pplications\garyapp\WEB-INF\_tmp_war_myserver_myserver_garyapp\WEB-INF\lib\STT63
    863.jar;C:\bea\wlserver6.1\.\config\mydomain\applications\garyapp\WEB-INF\_tmp_w
    ar_myserver_myserver_garyapp\WEB-INF\lib\xmlrpc63864.jar'
    at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubI
    mpl.java:594)
    at weblogic.servlet.internal.ServletStubImpl.getServlet(ServletStubImpl.
    java:368)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:242)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:200)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
    rvletContext.java:2495)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
    pl.java:2204)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    >--
    Michael Young
    Developer Relations Engineer
    BEA Support

  • OAS 10.1.3 isn't detecting /WEB-INF/lib jar files within WAR file

    Hello,
    I have been developing and testing a simple non-EJB web application on Tomcat 5.5 with no class loading difficulties for the past several months. All of the needed JARs for my app are located under the WEB-INF/lib directory. My next task is to deploy the WAR file containing my webapp on the Oracle 10g (10.1.3) application server.
    The problem I am having when trying to do this is that when I deploy the WAR file from Oracle Enterprise Manager, the WAR file will expand correctly but at runtime OAS doesn't appear to be detecting the JAR files in the WEB-INF/lib folder of my WAR file. I have confirmed that the JAR files are indeed being expanded in the directory that OC4J expands the WAR file into:
    appserver/j2ee/home/applications/appEARFile/MyWebApp/WEB-INF/lib.
    But when I run the application, from the Firefox browser I immediately get the following 500 Internal Server Error:
    "Servlet error: Error instantiating servlet 'reports'. Servlet class org.springframework.web.servlet.DispatcherServlet not found in web-application MyWebApp"
    (The IE browser just gives me the 500 error without additional elaboration.)
    But my spring.jar where that class is located is in the WEB-INF/lib directory. Does anyone have an idea what the solution is--how can I get OC4J to read the spring.jar (or any jar) in that lib folder? (Or is there a way I can configure logging to better pinpoint the problem if that isn't it?)
    Thanks,
    Glen

    Glen,
    You said:
    IE browser just gives me the 500 error without
    additional elaborationTry unsetting the "Show friendly HTTP error
    messages".
    From the "Tools" menu of Microsoft Internet Explorer,
    choose "Internet Options".
    (You should then see another window entitled
    "Internet Properties" displayed.)
    Select the "Advanced" tab and search for "Show
    friendly HTTP error messages".
    Excellent--that worked. Thanks! I was afraid that I would have to be debugging on Firefox exclusively.
    I also suggest setting the
    "search-local-classes-first" attribute, of the
    "web-app-class-loader" element, in your
    "orion-web.xml" file to 'true' (if it isn't
    already).
    That did it. My orion-web.xml file was of the old DTD-based version, I believe that was causing the problem.
    The following document:
    Oracle® Containers for J2EE
    Developer’s Guide
    10g Release 3 (10.1.3)
    Part No. B14433-01
    has a chapter (3) entitled Utilizing the OC4J
    Class Loading Framework which contains a section
    entitled Troubleshooting Class Loading-Related
    Problems in OC4J.
    Thanks for the link, I went through it thoroughly in trying to fix my problem.
    Glen

  • WebLogic 8.1 SP6 NoClassDefFoundError for jar in WEB-INF/lib dir (Solaris)

    Hi,
    I am getting a NoClassDefFoundError for a class that is contained in the WEB-INF/lib folder of my ear/war file.
    The strange thing is that this only fails when i try to deploy to production. In UAT (also on Solaris) and in Windows (test) the exact same versions of the deployment / ear file everything seems fine and the class is accessed.
    When i added the jar file to the classpath i experienced a "Unsupported major.minor version...." of this class error so i am reluctant to go down that route and anyway would rather consistent deployment between the systems.
    I would REALLY appreciate any suggestions as to what might be the cause or what i could try.
    Thanks,
    David

    Thanks for your replies. Sorry if i didn't post enough information for you...
    I appear to have found the problem (i managed to recreate in Windows) but have no idea why this is occuring.
    In the startManagedWebLogic.cmd file, if i specify "set JAVA_OPTIONS= xxxxxx" then the system will not pick up this one jar file. This appears to be the case even with "set JAVA_OPTIONS=-Dweblogic.attribute=value -Djava.attribute=value" which i assume is a default value as i can't remember having set it... The moment i comment out this set JAVA_OPTIONS line then the system is able to find the jar file.
    (Answering your questions:
    - The class in question is being referenced from another class also contained in a jar file in the WEB-INF/lib directory
    - the WEB-INF is part of the WAR which is contained in the EAR which is deployed on my server)
    For now i am ok but know that in a future build i am going to have to use the JAVA_OPTIONS parameter so would really appreciate any suggestions as to why this might be happening.
    Thanks,
    David

  • Weblogic does not look in application WEB-INF/lib

    Hi,
              I am migrating a Tomcat app to Weblogic 5.1 SP10. I have JAR files in
              the WEB-INF/lib directory, but Weblogic doesn't realize they are there
              and gives me noClassDefFound errors. Should I be adding lines to the
              wlsrc file? If so, can I list a directory or each JAR file separately?
              Thanks and frustrated.
              Dean
              

    The applets classes are in a jar. The reset of the web applications jar files are in the applications WEB-INF/lib, which is also where the applets jar is. I thought that's how its suppose to be done and that tomcat would load up the classpath with the jar files in the WEB-INF/lib directory.

  • WEB-INF/lib WEB-INF/classes ClassLoader problem

    I have observed that in WL 8.1, a class in a jar deployed in WEB-INF/lib does not have the ability to access a resource deployed in WEB-INF/classes. Is this the intended behavior to not have WEB-INF/lib and WEB-INF/classes in the same ClassLoader? If so, is there a way to configure this behavior to give permission to classes loaded in WEB-INF/lib to the ClassLoader that has WEB-INF/classes?
              thanks,
              Kenneth Shin

    Are you really certain that's what's happening? Is it possible the jar file stored in WEB-INF/lib isn't found elsewhere in the CLASSPATH, perhaps by a higher-level classloader? You might consider setting "prefer-web-inf-classes" to true in your weblogic.xml file, to ensure that the jars in WEB-INF/lib are being used instead of from somewhere else.

  • Jce in web-inf/lib - does not work

    Hi all!
    I've got the following problem:
    I accomplished to form an ear file that contains an ejb jar and a war file. The
    ejb jar manifest includes several jars that are part of the ear file. Additionally
    the web app needs the following jars: local_policy.jar, jce1_2_1.jar, US_export_policy.jar
    When I put these files into the WEB-INF/lib of the webapp or into Manifest's Class-Path
    of the ejb.jar I always get the same behaviour:
    I can deploy it (yipieeh) but when I run the web app I get the following exception
    (uieehh):
    java.lang.SecurityException: Cannot authenticate JCE framework java.lang.SecurityException:
    The JCE framework has unsigned class files. at com.sun.crypto.provider.SunJCE.a([DashoPro-V1.2-120198])
    at com.sun.crypto.provider.SunJCE.c([DashoPro-V1.2-120198]) at com.sun.crypto.provider.PBEKeyFactory.<init>([DashoPro-V1.2-120198])
    at java.lang.Class.newInstance0(Native Method) at java.lang.Class.newInstance(Class.java:237)
    at javax.crypto.Support.getImplementation(Support.java:77) at javax.crypto.Support.getImplementation(Support.java:32)
    at javax.crypto.SecretKeyFactory.getInstance(SecretKeyFactory.java:42)
    Surprisingly it works when I put the jar files into wls6.1SP2's lib directory
    respectively to wls's classpath! But what I need is one ear file that contains
    everything ...
    Please if you know this problem, a workaround or you have only a guess reply to
    this message.
    Thanks for every serious response,
    Chris.

    Well if you got the jar file to work in the /lib/ dir of the EAR file with
    the manifest.mf Class-Path: entry then more power to you. This didn't work
    for me for some reason, just let each ejb/war/etc compile to its own dir and
    deploy it with all its dependencies included...
    Your MalformedURL exception looks different than the security exception you
    had earlier. Im guessing that putting the files in a common location in the
    ear solved the class loading/security exception problem.
    Your malformedURL problem is probably just that, a malformed URL.
    Make sure all your associated metadata is pointing to the right place (use
    paths of /someApp/somejsp.jsp, etc. dont use ../../somejsp.jsp)
    make sure your using the right protocol (dont put one by default). This
    would be my guess. Maybe its expecting an SSL call of the form
    https://something or t3s://something but I'm not sure
    hope this helps,
    Michael Lee
    Architect
    AfterBOT
    [email protected]
    remove nospam_ to email
    "Chris" <[email protected]> wrote in message
    news:[email protected]...
    >
    First of all: Thanks for your response
    "Michael Lee" <[email protected]> wrote:
    Your getting that error because different wars run in different class
    loaders. It does not trust the other class loaders files unless they're
    signed in some way. I think one way you can do this is set up a
    security.policy? file for each war that tells what files are allowedI was thinking about that but: How can I do that?
    from
    where. Here's the way the WLS class loaders work...
    WLS system class loader
    |
    EAR class loader
    |
    EJB class loader
    |
    WAR class loader
    everything down on the chain there can see up, but not vice versa. You
    will
    get a class not found
    That way, the war files can call ejb's without problems, but EJBs can
    not
    access war file classes.
    One other possible way around your problem is to add a /lib/... directory
    to
    your EAR and include a Class-Path: section in your manifest to point
    to the
    JCE files. I think this allows war files to see each others classes.You have to manipulate the EJB-Manifest and put the jar files into the earfile!
    At least this is how it worked in my case! But I 've tried that alreadybut then
    I get a very similiar Exception: something with can not authenticate: ..MalormedURLException:
    no protocol ...
    This
    didn't work for me when I tried to create a shared library between
    EJBs/WARs
    but I didnt try to share files between 2 wars so who knows.
    Hope this helps some,
    Mike Lee
    Architect
    AfterBOT
    [email protected]
    Just remove nospam_ to email me
    "Chris" <[email protected]> wrote in message
    news:[email protected]...
    Hi all!
    I've got the following problem:
    I accomplished to form an ear file that contains an ejb jar and a warfile. The
    ejb jar manifest includes several jars that are part of the ear file.Additionally
    the web app needs the following jars: local_policy.jar, jce1_2_1.jar,US_export_policy.jar
    When I put these files into the WEB-INF/lib of the webapp or intoManifest's Class-Path
    of the ejb.jar I always get the same behaviour:
    I can deploy it (yipieeh) but when I run the web app I get the
    following
    exception
    (uieehh):
    java.lang.SecurityException: Cannot authenticate JCE frameworkjava.lang.SecurityException:
    The JCE framework has unsigned class files. atcom.sun.crypto.provider.SunJCE.a([DashoPro-V1.2-120198])
    at com.sun.crypto.provider.SunJCE.c([DashoPro-V1.2-120198]) atcom.sun.crypto.provider.PBEKeyFactory.<init>([DashoPro-V1.2-120198])
    at java.lang.Class.newInstance0(Native Method) atjava.lang.Class.newInstance(Class.java:237)
    at javax.crypto.Support.getImplementation(Support.java:77) atjavax.crypto.Support.getImplementation(Support.java:32)
    at javax.crypto.SecretKeyFactory.getInstance(SecretKeyFactory.java:42)
    Surprisingly it works when I put the jar files into wls6.1SP2's libdirectory
    respectively to wls's classpath! But what I need is one ear file thatcontains
    everything ...
    Please if you know this problem, a workaround or you have only a guessreply to
    this message.
    Thanks for every serious response,
    Chris.

  • JDeveloper 9031 creating WEB-INF/lib/struts.jar

    Hello,
    I just upgraded to 9.0.3.1 from 9.0.2, and I have a problem where JDeveloper will occasionally create a WEB-INF/lib/struts.jar in my project, causing a conflict with the version of struts I am using (RC2). Is there any way to prevent this? I ended up creating an empty jar and setting it to read-only to stop JDeveloper from placing it's version. Also, I tried disabling struts support, but that seemed to have no effect.
    Thanks,
    Patrick

    Hi.
    Hmm, this was a known issue that should have been fixed in 6.1. Please
    open a support case on this.
    Thanks,
    Michael
    Jim B wrote:
    I've seen alot of posts for this, but no answer.
    I have a WAR file which contains
    WEB-INF/lib/struts.jar
    And get an error that a struts class is not found.
    I checked 6728 times and it's there :-)
    If I explode the war file, all is well.
    Other posts allude to this being broken (exploded file
    works, war does not fond jars) as of WL6.0SP2.
    I'm using WL6.1SP1.
    Any ideas?
    Thanks
    Jim--
    Developer Relations Engineer
    BEA Support

  • Jars extracted from WEB-INF/lib in JDev 9.0.3

    I have a project for a Web application with Struts and I've built a deployment profile for it. When I deploy to WAR or EAR the generated WAR contains the jars from <HTML Source>/WEB-INF/lib folder as extracted classes in the WEB-INF/classes folder and jars in WEB-INF/lib as well. I want to do something so that the jars will be included just as jars and not extracted.
    Thanks for help.

    I put the jars in the deployment profile in the "WAR File" option from deployment profile descriptor.
    When the jars were defined in a separate library entry for my project I put them through "WEB-INF/lib" link under "WAR File" option. Both ways it did the same.
    I gave up this and I am using ant but I would like to know if it is possible to do it with deployment descriptor.

  • Can we downlod jar from WEB-INF/lib using webstart?

    Hi,
    Can we down jars which are in WEB-INF/lib directory
    using jnlp (webstart)?

    I got the basic concept of webstart.
    I can download jar only if publicly accessible (It
    should form a valid URL).Note an important distincion here..
    1) It is possible to form valid URL's that
    point to WEB-INF/lib.
    2) The server should not allow access, to
    that URL (any URL pointing inside WEB-INF/lib)
    and should return instead the HTTP code that says
    'not allowed/barred/forbidden'
    There is a big difference between a[b] valid URL,
    and a valid URL pointing to a forbidden resource.
    But yes, you seem to understand correctly,
    that the jar's for web-start cannot be loaded
    back to the client, from this directory.
    Thanks for your help.You're welcome.

  • Jar file in web-inf\lib is not being loaded - weblogic 7.0

    I am callling a webservice from a jsp. everything works fine if I keep the interface
    classes under web-inf\classes....but If I put the interface classes in a jar file
    and put it under web-inf\lib, then weblogic does not seem to find that....
    I am getting following error :
    C:\bea\user_projects\mydomain\.\myserver\.wlnotdelete\_appsdir_omccs_example_war_omccs_example_4653011\jarfiles\WEB-INF\lib\Customer_client32432.jar(com/qwest/omccsexample/ejb/CustomerBean/CustomerValue.java):14:
    class CustomerValue is public, should be declared in a file named CustomerValue.java
    (source unavailable)
    C:\bea\user_projects\mydomain\.\myserver\.wlnotdelete\_appsdir_omccs_example_war_omccs_example_4653011\jarfiles\WEB-INF\lib\Customer_client32432.jar(com/qwest/omccsexample/ejb/CustomerBean/CustomerValue.java):119:
    cannot resolve symbol
    symbol : class RuntimeUtils
    location: package binding
    (source unavailable)
    C:\bea\user_projects\mydomain\.\myserver\.wlnotdelete\_appsdir_omccs_example_war_omccs_example_4653011\jarfiles\WEB-INF\lib\Customer_client32432.jar(com/qwest/omccsexample/ejb/CustomerBean/CustomerValue.java):120:
    cannot resolve symbol
    symbol : class RuntimeUtils
    location: package binding
    (source unavailable)
    C:\bea\user_projects\mydomain\.\myserver\.wlnotdelete\_appsdir_omccs_example_war_omccs_example_4653011\jarfiles\WEB-INF\lib\Customer_client32432.jar(com/qwest/omccsexample/ejb/CustomerBean/CustomerValue.java):121:
    cannot resolve symbol
    symbol : class RuntimeUtils
    location: package binding
    (source unavailable)
    4 errors
    Wondering if it is a bug...?
    any thoughts ?
    -Girish Bhatia

    I wrote up a simple test case for this and it works fine for me.
    I suppose there are diffences. ;)
    I am using:
    WebLogic Server 7.0 SP1 Mon Sep 9 22:46:58 PDT 2002 206753
    Take the attached zip, unzip.
    cd to directory
    ant build
    then deploy it via the console, or
    java weblogic.Deployer -adminurl t3://127.0.0.1:7001 -user weblogic -password
    weblogic -activate -name mywebapp2 -source e:/weblogic/dev/sandbox/griffith/apps/output/exploded_mywebapp_lib/
    Then:
    http://c863775-d:7001/exploded_mywebapp_lib/frobber
    works for me. My servlet implments an interface in the jar in my lib dir.
    Cheers
    mbg
    "Girish" <[email protected]> wrote:
    >
    I am callling a webservice from a jsp. everything works fine if I keep
    the interface
    classes under web-inf\classes....but If I put the interface classes in
    a jar file
    and put it under web-inf\lib, then weblogic does not seem to find that....
    I am getting following error :
    C:\bea\user_projects\mydomain\.\myserver\.wlnotdelete\_appsdir_omccs_example_war_omccs_example_4653011\jarfiles\WEB-INF\lib\Customer_client32432.jar(com/qwest/omccsexample/ejb/CustomerBean/CustomerValue.java):14:
    class CustomerValue is public, should be declared in a file named CustomerValue.java
    (source unavailable)
    C:\bea\user_projects\mydomain\.\myserver\.wlnotdelete\_appsdir_omccs_example_war_omccs_example_4653011\jarfiles\WEB-INF\lib\Customer_client32432.jar(com/qwest/omccsexample/ejb/CustomerBean/CustomerValue.java):119:
    cannot resolve symbol
    symbol : class RuntimeUtils
    location: package binding
    (source unavailable)
    C:\bea\user_projects\mydomain\.\myserver\.wlnotdelete\_appsdir_omccs_example_war_omccs_example_4653011\jarfiles\WEB-INF\lib\Customer_client32432.jar(com/qwest/omccsexample/ejb/CustomerBean/CustomerValue.java):120:
    cannot resolve symbol
    symbol : class RuntimeUtils
    location: package binding
    (source unavailable)
    C:\bea\user_projects\mydomain\.\myserver\.wlnotdelete\_appsdir_omccs_example_war_omccs_example_4653011\jarfiles\WEB-INF\lib\Customer_client32432.jar(com/qwest/omccsexample/ejb/CustomerBean/CustomerValue.java):121:
    cannot resolve symbol
    symbol : class RuntimeUtils
    location: package binding
    (source unavailable)
    4 errors
    Wondering if it is a bug...?
    any thoughts ?
    -Girish Bhatia
    [mywebapptest.zip]

  • Tomcat6 does not load class files from WEB-INF/lib/myjarfile.jar  WHY???

    I have placed my jar file in c:\tomcat6\webapps\my-application\WEB-INF\lib\myjarfile.jar
    But, after restarting tomcat6, when i try to import the class file contained in the myjarfile.jar in a servlet, it says
    ProcessFileUpload.java:4: package test.test1 does not exist
    import test.test1.*;
    ^It clearly tomcat's class loading problem.
    As i unzipped my jar and placed the packagefolder structure to
    c:\tomcat6\webapps\my-application\WEB-INF\classes\testand it works perfectly.
    Anyone knows its workaround? please suggest if any configuration changes is required in tomcat or so.
    Thanks.
    ---Sujoy

    Thank you gimbal2 . There was error in creating the jar file myjarfile.jar.
    But, now I have created it again and placed it in place
    c:\tomcat6\webapps\my-application\WEB-INF\lib\myjarfile.jarand tried to use one on the Class file included within the jar to compile my servlet. But, still I am getting error at servlet compilation time. I want to place executable jar files in
    c:\tomcat6\webapps\my-application\WEB-INF\lib\myjarfile.jar and compile my servlet and execute the servlet.
    I DO NOT WANT TO unzip the jar, placing all unzipped files to
    c:\tomcat6\webapps\my-application\WEB-INF\classes\ folder and comiple my servlet and execute the servlet. But, I am failing to user WEB-INF\lib\ folder facility....please help me why i am not getting class files from WEB-INF\lib\ folder.
    If you please see the small code bit and tell me any possible error that would be very helpful.
    Step 1: my library java file MyClass.java
    package test.test1;
    public class MyClass {
         String myName = "Default return string value";
         public void setMyName(String varName) {
              this.myName = varName;
         public String getMyName() {
              return this.myName;
    }Step2 : Creating jar file of my library class files
    C:\jdk1.6\bin>jar cvf myjarfile.jar test
    added manifest
    adding: test/(in = 0) (out= 0)(stored 0%)
    adding: test/test1/(in = 0) (out= 0)(stored 0%)
    adding: test/test1/MyClass.class(in = 452) (out= 296)(deflated 34%)
    adding: test/test1/MyClass.java(in = 230) (out= 140)(deflated 39%)
    C:\jdk1.6\bin>Step3 : Double checking the created jar file content by listing its content
    C:\jdk1.6\bin>jar tf myjarfile.jar
    META-INF/
    META-INF/MANIFEST.MF
    test/
    test/test1/
    test/test1/MyClass.class
    test/test1/MyClass.java
    C:\jdk1.6\bin>Step4 : Placed myjarfile.jar to
    c:\tomcat6\webapps\my-application\WEB-INF\lib\Step5 : Restarted standalone Tomcat6 in my Windows XP SP2.
    Step6 : Created a simple servlet LibFolderTest.java within my-application\WEB-INF\classes\ folder with code
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import test.test1.*;
    public class LibFolderTest extends HttpServlet {
         public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
              response.setContentType("text/html");
              PrintWriter out = response.getWriter();
              MyClass mc = new MyClass();
              out.println(mc.getMyName());
    }Step7 : Tried to compile my servlet LibFolderTest.java and got the following error
    LibFolderTest.java:4: package test.test1 does not exist
    import test.test1.*;
    ^
    LibFolderTest.java:11: cannot find symbol
    symbol  : class MyClass
    location: class LibFolderTest
                    MyClass mc = new MyClass();
                    ^
    LibFolderTest.java:11: cannot find symbol
    symbol  : class MyClass
    location: class LibFolderTest
                    MyClass mc = new MyClass();
                                     ^
    3 errorsThe above servlet compilation error on Step7 is telling me that myjarfile.jar is not loaded by Tomcat6 or not available for use when compiling servlet. I want to use myjarfile.jar from within WEB-INF\lib\ folder but I can not. please help.
    ---Sujoy

Maybe you are looking for