WEB-INF/lib (.war) Vs META-INF/MANIFEST.MF (.ear)

What are the Class loading differences between libraries that are in a web application web-inf/lib and that are in class-path entry of META-INF/manifest.mf of a ear.
I recently developed a web services application with a ejb endpoint.Then
packaged it in a ear file with the classpath entry .The problem occured when I placed the weblogic.jar(and other third party jars) in the ear file which my ejb.jar uses as utility jar's. Jboss starts behaving weird.Some of the classes of jboss are overwritten and class cast exception errors started coming up.
Overnight I changed the application to a servlet end point and placed all my jars in the WEB-INF/lib then everything started working smooth.
Can any body help me , understand what is happening. Why doesn't j2ee have something like META-INF/lib

What did you do to resolve this issue .. I'm having the exact same problem.
What a nightmare.
I found approximately 40 forums on this topic (and
there are probably more), but noone has the definitive
answer!
Here's the problem....
My servlet uses a utility class that resides in some
other jar. That jar is then placed into the
WEB-INF\lib directory of the WAR which in turn goes
into the EAR. This is supposed to be all that is
needed in order for the utility class to be found on
the classpath.
In fact, if you run the war in Tomcat as a standalone
WAR it does in fact find it.... its when in an EAR
deloployed to app server that the problem arises.
I have had no luck with using any combination of
putting the jar ANYWHERE in the EAR or WAR no matter
if I specify the Class-Path: in the manifest(s) or
not.
I thought maybe that I was missing some config in the
application.xml or web.xml but I couldn't find
anything to support that.
Maybe its dependent on the app server? I am using
Orion, but the same problem can be found on J2EE RI
release 1.3
Work arounds:
1. Simply put the utility jar in the lib directory of
the server you're using
2. Add an ejb module to the application.xml naming the
utility jar as the ejb jar. Of course this is NOT an
EJB jar and error messages/warnings will appear
accordingly, but on Orion at least, it will load the
classes needed... hooray!!
Anyone got a definitive answer?

Similar Messages

  • META-INF/context.xml, Tomcat, META-INF/services

    I presently have a Netbeans project laid out like this:
    src
    src\java
    web
    web\META-INF
    web\META-INF\context.xml
    etc. Tomcat finds that META-INF/context.xml OK and does what I expect with it.
    I have recently added something that is loaded by java.util.ServiceLoader, which requires a META-INF/services/x.y.z file containing the name(s) of the classes that implement x.y.z. After deployment, my webapp's ServiceLoader doesn't find it, because in the target it isn't in WEB-INF/classes/META-INF/services/x.y.z. If I put it into src/java/META-INF/services/x.y.z it works correctly, as it then ends up in the right place. However I'm now concerned that either Tomcat won't find the context.xml if I put it in the same place under src, because it would then not be in /META-INF/context.xml but rather /WEB-INF/classes/META-INF/context.xml, which in turn would mean that I would then need two META-INF directories. I'm about to test that conjecture about Tomcat finding it under WEB-INF/classes/META-INF, but I'm wondering whether I'm doing something basically wrong in the first place here.

    You seem to think that you can have only one META-INF directory; this is simply not true. Keep both your META-INF directories and put the files where they are expected. Yay for using overlapping names :/

  • Bundeling META-INF\adf\scripts\ or META-INF\adf\images in adf library

    Hi,
    I need to be able to create an adf library that can also include the following directories. This is to include custom converters. I have not been able to do that.
    I can however create a regular jar deployment profile that will contain these directories using filters (include/exclude) but then my converters don't get packaged correctly to be recognized by the property inspector for dev.
    META-INF\adf\scripts\
    META-INF\adf\images
    META-INF\adf\skins
    Thanks in advance.

    Right click and select Project Properties. Go to the Project Source Path --> Resource
    Under Included click on Add. Here you can specify which all files/folders to be included/excluded.
    Now go to Deployment and click on New.
    Select Archive Type = ADF Library JAR File
    Give a name to jar and click Ok.
    Now when you do right click and Deploy on project all the required files you mentioned should get added to your adf jar.
    Amit

  • WAR: making executable with reference to lib in WEB-INF/lib?

    I have a custom library (jar file) with a manifest to show version infos when started/double cliked. this works quite good. this jar file is now part of a bigger war file. now, i want to double click the war file to show the version info. i already added a manifest to the war file and double clicking works as expected but the (main) class is not found. i tried to add WEB-INF/lib/mylib.jar to the manifest Class-Path: entry, but that doesn't work. is there a way to tell the manifest, that it should look in the war's web-inf/lib subdirectory to look for classes? or is this an approach that couldn't be solved?

    My first reaction here is to say you shouldn't do that. It seems to me that you're just asking for trouble when you start modifying the manifest class path of your WAR to try and make it an executable war - if you do succeed you might end up not being able to have the thing function as a WAR.
    but that aside, I don't think (I've not tested/invistigated this very much) that you can access classes contained withing jars that are themselves contained within a jar without doing some sort of custom classloader craziness - and if you have to go down that route then you definitely don't want t o muck up your WAR like that.
    I suggest that you create a Servlet (or Struts action, or whatever you have going on) such that when you hit that via a JSP (possibly protected via some sort of security) you get the results of your versioning method dumped out on your browser. That would be more "natural" and go with the Zen of the technology you're using.
    Good Luck
    Lee

  • WAR meta-inf/manifest Class-Path jars use which classloader ?

    If using an expanded EAR structure, my Web App requires some utility classes. I
    can either put these in my :-
    meta-inf/manifest.mf
    Class-Path : utility.jar
    OR
    web-inf/lib
    can contain the utility.jar
    Is there any difference in terms of which classloader is used to load these classes,
    the EAR/EJB classloader or the Web App child classloader ?
    What is recommended ?

    If have found out the answer myself by testing it :-
    A jar in the meta-inf/manifest.mf e.g. Class-Path : utility.jar
    will be loaded by the EAR/EJB level classloader
    whereas
    web-inf/lib containing utility.jar
    will be loaded by the Web App level child classloader.
    Dimitri Rakitine <[email protected]> wrote:
    I have this question too - it appears that 6.1sp2 attempts to use Class-Path
    in jars in WEB-INF/lib - what this Class-Path: is supposed to do ???
    Pete <[email protected]> wrote:
    If using an expanded EAR structure, my Web App requires some utilityclasses. I
    can either put these in my :-
    meta-inf/manifest.mf
    Class-Path : utility.jar
    OR
    web-inf/lib
    can contain the utility.jar
    Is there any difference in terms of which classloader is used to loadthese classes,
    the EAR/EJB classloader or the Web App child classloader ?
    What is recommended ?--
    Dimitri

  • EAR has WAR has JAR in WEB-INF\lib NoClassDefFoundError

    What a nightmare.
    I found approximately 40 forums on this topic (and there are probably more), but noone has the definitive answer!
    Here's the problem....
    My servlet uses a utility class that resides in some other jar. That jar is then placed into the WEB-INF\lib directory of the WAR which in turn goes into the EAR. This is supposed to be all that is needed in order for the utility class to be found on the classpath.
    In fact, if you run the war in Tomcat as a standalone WAR it does in fact find it.... its when in an EAR deloployed to app server that the problem arises.
    I have had no luck with using any combination of putting the jar ANYWHERE in the EAR or WAR no matter if I specify the Class-Path: in the manifest(s) or not.
    I thought maybe that I was missing some config in the application.xml or web.xml but I couldn't find anything to support that.
    Maybe its dependent on the app server? I am using Orion, but the same problem can be found on J2EE RI release 1.3
    Work arounds:
    1. Simply put the utility jar in the lib directory of the server you're using
    2. Add an ejb module to the application.xml naming the utility jar as the ejb jar. Of course this is NOT an EJB jar and error messages/warnings will appear accordingly, but on Orion at least, it will load the classes needed... hooray!!
    Anyone got a definitive answer?

    What did you do to resolve this issue .. I'm having the exact same problem.
    What a nightmare.
    I found approximately 40 forums on this topic (and
    there are probably more), but noone has the definitive
    answer!
    Here's the problem....
    My servlet uses a utility class that resides in some
    other jar. That jar is then placed into the
    WEB-INF\lib directory of the WAR which in turn goes
    into the EAR. This is supposed to be all that is
    needed in order for the utility class to be found on
    the classpath.
    In fact, if you run the war in Tomcat as a standalone
    WAR it does in fact find it.... its when in an EAR
    deloployed to app server that the problem arises.
    I have had no luck with using any combination of
    putting the jar ANYWHERE in the EAR or WAR no matter
    if I specify the Class-Path: in the manifest(s) or
    not.
    I thought maybe that I was missing some config in the
    application.xml or web.xml but I couldn't find
    anything to support that.
    Maybe its dependent on the app server? I am using
    Orion, but the same problem can be found on J2EE RI
    release 1.3
    Work arounds:
    1. Simply put the utility jar in the lib directory of
    the server you're using
    2. Add an ejb module to the application.xml naming the
    utility jar as the ejb jar. Of course this is NOT an
    EJB jar and error messages/warnings will appear
    accordingly, but on Orion at least, it will load the
    classes needed... hooray!!
    Anyone got a definitive answer?

  • Error while accessing a war with xmlbeans under WEB-INF/lib

    Hi All,
    I am trying to deploy a WAR file with XMLBean generated jar under WEB-INF/lib folder along with other jars.
    I am getting following error
    java.lang.NoClassDefFoundError: com/xx/DataServiceRequestDocument
         at java.lang.Class.getDeclaredFields0(Native Method)
         at java.lang.Class.privateGetDeclaredFields(Class.java:2291)
         at java.lang.Class.getDeclaredField(Class.java:1880)
         at java.io.ObjectStreamClass.getDeclaredSUID(ObjectStreamClass.java:1610)
         at java.io.ObjectStreamClass.access$700(ObjectStreamClass.java:52)
         at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:425)
         at java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:413)
         at java.io.ObjectStreamClass.lookup0(ObjectStreamClass.java:310)
         at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java)
         at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:547)
         at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1582)
         at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495)
         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1731)
         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
         at com.tangosol.util.ExternalizableHelper.readSerializable(ExternalizableHelper.java:2216)
         at com.tangosol.util.ExternalizableHelper.readObjectInternal(ExternalizableHelper.java:2347)
         at com.tangosol.util.ExternalizableHelper.readObject(ExternalizableHelper.java:2290)
         at com.tangosol.io.DefaultSerializer.deserialize(DefaultSerializer.java:74)
         at com.tangosol.coherence.component.net.extend.Channel.deserialize(Channel.CDB:15)
         at com.tangosol.io.pof.PofBufferReader.readAsObject(PofBufferReader.java:3306)
         at com.tangosol.io.pof.PofBufferReader.readObject(PofBufferReader.java:2603)
         at com.tangosol.coherence.component.net.extend.messageFactory.InvocationServiceFactory$InvocationRequest.readExternal(InvocationServiceFactory.CDB:5)
         at com.tangosol.coherence.component.net.extend.Codec.decode(Codec.CDB:29)
         at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Peer.decodeMessage(Peer.CDB:25)
         at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Peer.onNotify(Peer.CDB:54)
         at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
         at java.lang.Thread.run(Thread.java:662)
    I tried multiple combinations like changing, but no success.
    <wls:weblogic-web-app xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd">
    <wls:weblogic-version>10.3.2</wls:weblogic-version>
    <wls:context-root>CoherenceWS</wls:context-root>
    <wls:container-descriptor>
    <wls:prefer-web-inf-classes>true</wls:prefer-web-inf-classes>
    </wls:container-descriptor>
    </wls:weblogic-web-app>
    I have very few classes in WEB-INF/class (trying to load java objects from lib)
    My WEB-INF/lib folder contains following jar
    coherence.jar
    commons-beanutils-1.8.0.jar
    commons-collections-3.2.jar
    commons-lang-2.4.jar
    commons-logging-1.1.1.jar
    dsRemoteCall.jar
    ezmorph-1.0.jar
    jackson-all-1.8.5.jar
    json-lib-2.1-jdk13.jar
    org.springframework.asm-3.1.0.M2.jar
    org.springframework.beans-3.1.0.M2.jar
    org.springframework.context-3.1.0.M2.jar
    org.springframework.core-3.1.0.M2.jar
    org.springframework.expression-3.1.0.M2.jar
    org.springframework.oxm-3.1.0.M2.jar
    org.springframework.web-3.1.0.M2.jar
    org.springframework.web.servlet-3.1.0.M2.jar
    schemaclasses.jar
    xbean.jar
    xom-1.2.7.jar
    Am I missing something? Any help is greatly appreciated
    Thanks
    sunder
    Edited by: 868704 on Sep 6, 2011 6:10 PM

    Note : schemaclasses.jar contains "com/xx/DataServiceRequestDocument" class file.
    WebLogic Server 10.3.5.0
    Thanks
    sunder
    Edited by: 868704 on Sep 6, 2011 6:26 PM

  • 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).

  • 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

  • How to use ClassPath defined in META-INF/MANIFEST.MF in an EAR

    Hi,
    We have an EAR Shared Library (Name = AA) deployed in Weblogic. EAR contents are like ->
    APP-INF/lib/directoryA/<<50 JAR Files>>
    META-INF/MANIFEST.MF --->> Has Class Path to above JAR files, Spec Version, Impl Version etc
    META-INF/application.xml
    META-INF/weblogic.application.xml
    This EAR is deployed as Shared Library, and our EJB (name = BB) refers to this EAR. Now the problem we are facing is that the JARs are not reachable by EJB BB. If we restructure the Shared Library project so that all the JARS are under APP-INf/lib/ directory, we are able to access the JARS from EJB BB. (This means that we are referring the shared library correctly, using "library-ref" tag correctly.
    Is there a way we can specify EJB BB to look for CLASS PATH as present in the MANIFEST.MF file of the Shared Library ??
    Thanks,

    WebLogic specifies a separate classloader for the APP-INF/lib directory that is why it gets loaded
    When you have some.jar file placed in an arbitrary directory, for example, somewhere. You can either
    use application.xml, for example,
    <application ...>
        <module>
            <ejb>EJB.jar</ejb>
        </module>
        <module>
            <web>
                <web-uri>Web.war</web-uri>
                <context-root>MiddlewareMagic</context-root>
            </web>
        </module>
         <library-directory>somewhere</library-directory>
    </application> Or by using the manifest Class-Path entry option which requires adding a META-INF/MANIFEST.MF file with the following contents:
    Manifest-Version: 1.0
    Class-Path: somewhere/some.jarMore information on class loading and application packaging can be found here: http://middlewaremagic.com/weblogic/?p=6725

  • WLS 8.1 SP4 and web-inf/lib ClassNotFoundExceptions

    Hi
    Is anyone else having problems with this issue ?
    I saw it was resolved (CR161884 & CR173695) in the 8.1 SP3 release, but I'm unable to deploy a web app (either through the console or in the applications directory of the domain) in SP4 as the classloader can't see my JAR file in WEB-INF/lib.
    <30-Dec-2004 15:51:47 o'clock GMT> <Error> <Deployer> <BEA-149201> <Failed to co
    mplete the deployment task with ID 7 for the application appsdirdp-application
    -1.0-SNAPSHOT_war.
    weblogic.management.DeploymentException:
    Exception:weblogic.management.ApplicationException: start() failed.
            Module: dp-application-1.0-SNAPSHOT     Error: weblogic.management.Deplo
    ymentException: org/picocontainer/gems/StaticFactory - with nested exception:
    [java.lang.NoClassDefFoundError: org/picocontainer/gems/StaticFactory]Inside my WAR file, I have a WEB-INF\lib directory, containing picocontainer-gems-1.1-SNAPSHOT.jar which contains the org.picocontainer.gems.StaticFactory class.
    I've tried deploying the app both with and without a weblogic.xml file declaring prefer-web-inf-classes set to true.
    Rgs
    Erik

    Just as a check, I moved the JAR files to a common lib directory on the server and added them to the system classpath specified in startWeblogic.cmd, and the application starts fine.
    Maybe not related, but yesterday I was tried deploying an EJB that was dependent on a JAR file NOT included within its JAR file, but specified with the Class-path entry in the manifest.
    The behaviour I saw was WLS swallowed the ClassNotFoundException silently, the admin console reported that the EJB was deployed successfully but inside the ejbCreate method - I had two print line statements, one prior to calling the missing class, and one after. Only the one prior appeared on the system console, suggesting that the ejbCreate method wasn't completing, yet no exception is thrown ?

  • Deployment of JSF Libraries to /WEB-INF/lib

    Good day.
    In our new web application we use three different JSF taglibs (richfaces, trinidad, tomahawk). All of them are managed as "JSF Libraries" (created in eclipse options->web->"JavaServer Faces Tools"->Libraries). To include jars from these libraries in webapp I've checked respective entries in project's options->"Java EE Module Dependencies"->"Web Libraries". However webapp doesn't contain jars from these libs at runtime even if webapp is served from separate folder within weblogic server's directory structure (don't remember how this option is called at server configuration page). Is it some kind of a bug or this feature is just not supported (tradeoff for being able to serve modules directly from the workspace)? I read throught OEPE help contents, but haven't found definite answer there.
    Env: Eclipse 3.4.1, WTP 3.0.3, OEPE 1.0, JVM Sun 1.6.0_11, Win32 XP SP2, WLS 10.3
    Thank you very much!

    Sorry, forgot to mention that web application is a part of ear archive. Don't know if "Stand-alone Web Application Deployment Mode" will have any signification effect in this case.
    However, here are contents of .beabuild file from ear and contents of temporary directory from wls with webapp contents if it will be of any importance.
    ru.bpc.sv.web is ear archive and ru.bpc.sv.web.iu is included webapp.
    .beabuild:
    C\:/workspaces/web2008/ru.bpc.sv.web/EarContent/APP-INF/classes = APP-INF/classes
    C\:/workspaces/web2008/ru.bpc.sv.web.ui/WebContent = ru.bpc.sv.web.ui.war
    C\:/workspaces/web2008/ru.bpc.sv.web.ui/build/weboutput = ru.bpc.sv.web.ui.war
    C\:/workspaces/web2008/ru.bpc.sv.web.ui/build/classes = ru.bpc.sv.web.ui.war/WEB-INF/classes
    C\:/projects/java/libs/org/jboss/richfaces/3.1.5_1.4/richfaces-api-3.1.5.GA.jar = ru.bpc.sv.web.ui.war/WEB-INF/lib/richfaces-api-3.1.5.GA.jar
    C\:/projects/java/libs/org/jboss/richfaces/3.1.5_1.4/richfaces-impl-3.1.5.GA.jar = ru.bpc.sv.web.ui.war/WEB-INF/lib/richfaces-impl-3.1.5.GA.jar
    C\:/projects/java/libs/org/jboss/richfaces/3.1.5_1.4/richfaces-ui-3.1.5.GA.jar = ru.bpc.sv.web.ui.war/WEB-INF/lib/richfaces-ui-3.1.5.GA.jar
    C\:/projects/java/libs/org/apache/myfaces/tomahawk/1.1.6/tomahawk-1.1.6.jar = ru.bpc.sv.web.ui.war/WEB-INF/lib/tomahawk-1.1.6.jar
    C\:/projects/java/libs/org/apache/myfaces/trinidad/1.0.9_1.4/trinidad-api-1.0.9-jdk14.jar = ru.bpc.sv.web.ui.war/WEB-INF/lib/trinidad-api-1.0.9-jdk14.jar
    C\:/projects/java/libs/org/apache/myfaces/trinidad/1.0.9_1.4/trinidad-impl-1.0.9-jdk14.jar = ru.bpc.sv.web.ui.war/WEB-INF/lib/trinidad-impl-1.0.9-jdk14.jar
    C\:/projects/java/libs/org/apache/myfaces/trinidad/1.2.8/backport-util-concurrent-3.1.jar = ru.bpc.sv.web.ui.war/WEB-INF/lib/backport-util-concurrent-3.1.jar
    C\:/projects/java/libs/org/apache/myfaces/trinidad/1.2.8/retrotranslator-runtime-1.2.6.jar = ru.bpc.sv.web.ui.war/WEB-INF/lib/retrotranslator-runtime-1.2.6.jar
    C\:/workspaces/web2008/ru.bpc.sv.ejb.authClient/build/classes = APP-INF/lib/ru.bpc.sv.ejb.authClient.jar
    C\:/workspaces/web2008/ru.bpc.sv.ejb.svboClient/build/classes = APP-INF/lib/ru.bpc.sv.ejb.svboClient.jar
    C\:/workspaces/web2008/ru.bpc.sv.ejb.svfeClient/build/classes = APP-INF/lib/ru.bpc.sv.ejb.svfeClient.jar
    C\:/workspaces/web2008/ru.bpc.sv.commonitems/bin = APP-INF/lib/ru.bpc.sv.commonitems.jar
    C\:/workspaces/web2008/ru.bpc.sv.commonEjbUtils/bin = APP-INF/lib/ru.bpc.sv.commonEjbUtils.jar
    C\:/workspaces/web2008/ru.bpc.sv.web/EarContent/APP-INF/lib/commons-logging-1.1.jar = APP-INF/lib/commons-logging-1.1.jar
    C\:/workspaces/web2008/ru.bpc.sv.web/EarContent/APP-INF/lib/log4j-1.2.14.jar = APP-INF/lib/log4j-1.2.14.jar
    C\:/workspaces/web2008/ru.bpc.sv.web/EarContent/APP-INF/lib/poi-3.0.1-FINAL-20070705.jar = APP-INF/lib/poi-3.0.1-FINAL-20070705.jar
    C\:/workspaces/web2008/ru.bpc.sv.web/EarContent/APP-INF/lib/quartz-all-1.6.1-RC3.jar = APP-INF/lib/quartz-all-1.6.1-RC3.jar
    dir:
    C:\as\bea\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_user\ru.bpc.sv.web\1
    C:\as\bea\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_user\ru.bpc.sv.web\mc65ws
    C:\as\bea\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_user\ru.bpc.sv.web\mc65ws\.tld_cache
    C:\as\bea\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_user\ru.bpc.sv.web\mc65ws\libs
    C:\as\bea\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_user\ru.bpc.sv.web\mc65ws\public
    C:\as\bea\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_user\ru.bpc.sv.web\mc65ws\war
    C:\as\bea\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_user\ru.bpc.sv.web\mc65ws\.tld_cache\tomahawk-sandbox-1.1.7-SNAPSHOT.jar
    C:\as\bea\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_user\ru.bpc.sv.web\mc65ws\.tld_cache\tomahawk-sandbox-1.1.7-SNAPSHOT.jar\META-INF
    C:\as\bea\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_user\ru.bpc.sv.web\mc65ws\.tld_cache\tomahawk-sandbox-1.1.7-SNAPSHOT.jar\META-INF\myfaces_sandbox.tld
    C:\as\bea\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_user\ru.bpc.sv.web\mc65ws\.tld_cache\tomahawk-sandbox-1.1.7-SNAPSHOT.jar\META-INF\myfaces_sandbox.tld\crc.ser
    C:\as\bea\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_user\ru.bpc.sv.web\mc65ws\.tld_cache\tomahawk-sandbox-1.1.7-SNAPSHOT.jar\META-INF\myfaces_sandbox.tld\des.ser
    C:\as\bea\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_user\ru.bpc.sv.web\mc65ws\libs\jsf-ri
    C:\as\bea\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_user\ru.bpc.sv.web\mc65ws\libs\jsf-ri\moygs
    C:\as\bea\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_user\ru.bpc.sv.web\mc65ws\libs\jsf-ri\moygs\war
    C:\as\bea\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_user\ru.bpc.sv.web\mc65ws\war\WEB-INF
    C:\as\bea\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_user\ru.bpc.sv.web\mc65ws\war\WEB-INF\lib
    C:\as\bea\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_user\ru.bpc.sv.web\mc65ws\war\WEB-INF\lib\commons-collections-3.1.jar
    C:\as\bea\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_user\ru.bpc.sv.web\mc65ws\war\WEB-INF\lib\commons-el-1.0.jar
    C:\as\bea\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_user\ru.bpc.sv.web\mc65ws\war\WEB-INF\lib\commons-fileupload-1.2.jar
    C:\as\bea\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_user\ru.bpc.sv.web\mc65ws\war\WEB-INF\lib\itext-2.0.6.jar
    C:\as\bea\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_user\ru.bpc.sv.web\mc65ws\war\WEB-INF\lib\iText-2.1.2u.jar
    C:\as\bea\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_user\ru.bpc.sv.web\mc65ws\war\WEB-INF\lib\iText-rtf-2.1.2u.jar
    C:\as\bea\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_user\ru.bpc.sv.web\mc65ws\war\WEB-INF\lib\tomahawk-sandbox-1.1.7-SNAPSHOT.jar

  • 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

  • Working with tag-library which is packed in WEB-INF\lib\jar-file.jar:

    Hi,
    When importing a webworks war file, which contains default taglib.tld in the webworks.jar which is packed in /Web-Inf/lib/webworks.2.1.7.jar the war file.
    I am getting following error while running the jsp.
    Error(6): duplicated tag definitions within the same TLD: text
    Error(6): java.lang.NullPointerException
    Error(6): Unable to load taghandler class: /webwork
    Line which points to Errors is "<%@ taglib prefix="ww" uri="/webwork" %>"
    But, There is a taglib.tld in /Web-Inf/lib/webworks.2.1.7.jar!\meta-inf\tablib.tld
    which mentions uri as
    <taglib>
    <tlib-version>2.2.1</tlib-version>
    <jsp-version>1.2</jsp-version>
    <short-name>WebWork Taglib</short-name>
    <uri>/webwork</uri>
    </taglib>
    But, There is no following entry for '/webwork' (uri) in web.xml
    Same war is working fine in tomcat webserver.
    Can anybody explain me how to work with this kind of a setup, where taglib is packed in some jar which is packed in Web-Inf/lib dir.
    Thanks,
    Siva

    I found the problem. The web-app was finding the class in the APP-INf/lib. But the problem was being caused due to a reference to another class that was being loaded by the webapp classloader which was not visible to the class inside the common jar. The solution was to make sure both classes were being loaded by one class loader.
    Thanks anyway
    Sameet

  • Jars in web-inf/lib not in classpath

              Hello,
              I am building a web application where I wish to use third party jars.
              (specifically cos.jar and log4j.jar)
              AFAIK when you place these jars in the web-inf/lib directory of your application
              they should then be included in the application classpath.
              However this does not seem to always work. I am using Weblogic 6.1, no service
              pack.
              Eventually I got it to work by adding a manifest to my EJB jar file with the classpath
              pointing to the jars and including the jars in the ear file.
              Has anyone else had any issues with this?
              Thanks,
              James
              

    James,
              Yes, I've had troubles with WLS 6.1.2 finding the classes in my jar files
              that are stored in WEB-INF/lib when deploying as a .war file. The funny
              thing is that when I deploy to a WLS 6.1.0 running on two other machines
              (one solaris, one linux), I don't see this problem.
              My servlets all extend the webmacro WMServlet class, which is found in
              WEB-INF/lib/webmacro.jar. When deploying my web app, grems, I see the
              following behavior.
              On WLS 6.1.0 (running on solaris), the server unjars the WEB-INF/lib files into
              ".wlnotdelete/WEB-INF/_tmp_war_myserver_myserver_grems". That directory
              contains a jar file for each one in my .war files WEB-INF/lib directory.
              On WLS 6.1.2 (running on Solaris), however, the server just doesn't seem to do that.
              Instead, it creates
              ".wlnotdelete/WEB-INF/_tmp_war_myserver_myserver_grems/WEB-INF/lib". Not
              only that, but it doesn't put any of my jar files into that directory.
              Notice that it create the WEB-INF directory twice for some reason.
              Needless to say, any class which uses a class from one of those jar files
              bombs spectacularly with a ClassNotFound exception. This is extremely
              frustrating and any help would be greatly appreciated.
              Thanks,
              Bobby
              In article <[email protected]>, "James Lawless"
              <[email protected]> wrote:
              > Hello,
              >
              > I am building a web application where I wish to use third party jars.
              > (specifically cos.jar and log4j.jar)
              >
              > AFAIK when you place these jars in the web-inf/lib directory of your
              > application they should then be included in the application classpath.
              >
              > However this does not seem to always work. I am using Weblogic 6.1, no
              > service pack.
              >
              > Eventually I got it to work by adding a manifest to my EJB jar file with
              > the classpath pointing to the jars and including the jars in the ear
              > file.
              >
              > Has anyone else had any issues with this?
              >
              > Thanks,
              >
              > James
              

Maybe you are looking for