WEB-INF/classes not in classpath issue - bug or specification?

I've noticed BC4J expects some of its configuration files to be present in the standard classpath or the application.
However, when running web-apps, the WEB-INF/classes are used for loading classes by the JVM, but they are not in the classpath literaly which causes BC4J not to find its metadata files - this has caused many people to be confused because they believed (like me) that the /classes folder is just another part of the classpath.
But someone has to solve this! After all, if I have a million web-apps, I (as a BC4J user) do not want to include a million JAR files in the classpath. I want to put the JAR in the classes directory and have BC4J find it automatically since its part of the web-app's classes, jars/zips and such.
The question is, is this a BC4J issue (not finding the files) or a Java Specification issue? and if this is a mere BC4J issue, why won't Oracle provide a small patch for BC4J (simply release an updated JAR/ZIP file)? Or instead, put it in BC4J release notes (unless its already there and I've missed it..) so that customers won't have to spend/waste valuable time trying to understand.
Regards to all,
Arik Kfir.

Originally posted by Arik Kfir ([email protected]):
I've noticed BC4J expects some of its configuration files to be present in the standard classpath or the application.
However, when running web-apps, the WEB-INF/classes are used for loading classes by the JVM, but they are not in the classpath literaly which causes BC4J not to find its metadata files - this has caused many people to be confused because they believed (like me) that the /classes folder is just another part of the classpath.
But someone has to solve this! After all, if I have a million web-apps, I (as a BC4J user) do not want to include a million JAR files in the classpath. I want to put the JAR in the classes directory and have BC4J find it automatically since its part of the web-app's classes, jars/zips and such.
===========================================
If I understand you correctly, it sounds like you need to put the bc4j .jar files in the /j2ee/home/lib directory...by placing a jar file there, it becomes available to all web applications running inside OC4J...
does that solve your problem?
regards,
Mike Conway
UNC Chapel Hill

Similar Messages

  • Custom classes in Web-INF/classes not recognised

              Can any body tell me why classes in WEB-INF/classes directory are not recognised by
              the WebLogic while importing in JSP??
              Thanks in advance
              

              Hi all,
              we were having the same problem - WebLogic not recognizing custome classes in
              the WEB-INF/classes directory. As soon as we removed the Class-Path entries from
              the WARs Manifest file (and placed the referenced JARs in the WEB-INF/lib directory)
              everything worked fine. It seems as if WebLogic excludes WEB-INF/classes from
              the classpath in case Class-Path entries in the manifest file are present.
              Is there a patch for this? If yes, I'd appreciate your notice!
              Cheers
              Georg
              [email protected] (Trace Lowe) wrote:
              >Sounds like I'm having the same problem. I have a JSP application, in
              >a WAR file, in an EAR (no EJBs). I'm trying to figure out where to
              >place the utility jar files. I've read several threads, and
              >documentation on WL7, and it seems that I should be able to place the
              >jars in the WAR lib or classes directory. I tried both, neither seems
              >to work. I even tried adding a "Class-Path" entry in the EAR manifest
              >in hopes that it might work. Nope.
              >
              >Can anyone help?
              >
              >- Trace
              >
              >"Dineshkrn" <[email protected]> wrote in message news:<3d32cab0$[email protected]>...
              >> Can any body tell me why classes in WEB-INF/classes directory are not
              >recognised by
              >> the WebLogic while importing in JSP??
              >>
              >>
              >> Thanks in advance
              

  • WorkShop 3.2.0 - WEB-INF/classes not included in war file

    I've created the "Faces Example" project in Workshop Studio 3.2.0 and it's running fine. However, when I export the war file to run it on another server the class files located at "WEB-INF/classes" are not included with the war.
    Any suggestions on what I may be doing wrong would be greatly appreciated.
    thks!

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

  • WEB-INF/classes not searched?

    I am developing an Struts application.
    During development I just want to have my Actions and all other files in the projects package strukture, so I compile the classes to the WEB-INF/classes directory and ends up with a structure like
    WEB-INF/classes/dk.acompagny.anapplication.viewcontroller.MyAction.class.
    I find the compiled class in the directory structure but OC4J does not find it. Instead I get a runtime error like:
    SEVERE: No action instance for path /login could be created
    oracle.classloader.util.AnnotatedClassNotFoundException:
         Missing class: dk.bladkompagniet.plus100.viewcontroler.LoginAction
         Dependent class: org.apache.struts.util.RequestUtils
         Loader: current-workspace-app.web.Bladkompagniet-Plus100-webapp:0.0.0
         Code-Source: /home/fgjensen/Work/Src/Bladkompagniet/Plus100/public_html/WEB-INF/lib/struts.jar
         Configuration: WEB-INF/lib/ directory in /home/fgjensen/Work/Src/Bladkompagniet/Plus100/public_html/WEB-INF/lib
    This load was initiated at current-workspace-app.web.Bladkompagniet-Plus100-webapp:0.0.0 using the loadClass() method.
    JDev lists the path it searches an the WEB-INF/classes directory is not listed. However, it finds my jsp pages and the default behavior of OC4J should be to search the WEB-INF/classes path.
    Am I missing some configuration set?
    Regards Flemming

    Forget it, I found the error: I have to learn to spell!

  • JARs in WEB-INF/classes on the classpath? [NEWBIE]

    Hello,
    I am under the impression that any files (including JARs and all within
    them) are on the classpath if they are in the folder WEB-INF/classes.
    I have a WAR file that contains a JAR file that in the WEB-INF/classes
    folder. The JAR file contains a class under the package structure
    "mvc.users.Members". I know its there as I checked the WAR file structure
    before deploying.
    In the WAR file I have a Struts RegisterAction class in the package/folder
    "mvc.registration.RegisterAction" which has the following code to create a
    Member object:
    Member member = new Member();The Member class is imported into RegisterAction using
    import mvc.users.Members;and JBuilder appears to recognise Members as on the classpath and compiles
    with no errors.
    My problem is after I have deployed the WAR file, submitting a form to the
    RegisterAction gets the error below:
    javax.servlet.ServletException: Servlet execution threw an exception:
    root cause:
        java.lang.NoClassDefFoundError: mvc/users/Member
            mvc.registration.RegisterAction.execute(RegisterAction.java:22)
            org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
            org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
            org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
            org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
            javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
            javax.servlet.http.HttpServlet.service(HttpServlet.java:856)If the class "mvc.users.Member" is in the JAR file in the WEB-INF/classes
    folder and the "mvc.registration.RegisterAction" class in the WAR file
    does (according to JBuilder) see the "mvc.users.Member" class on the
    classpath and compiles... why then do I get this error?
    Thanks for your help.
    A Desperate Newbie,
    Mark

    I answered this in the JSP forum - you need to put JAR files in WEB-INF/lib.

  • prefer-application-packages and prefer-web-inf-classes not working

    Hi,
    I'm upgrading to Weblogic 10.3.2 an application that was running quite fine in Weblogic 8. But I don't manage to get it working in WL 10. I'm getting a Class Not Found error (javax/xml/stream/XMLStreamWriter) but that class is in one of the jar files of my application: "<war-file>/WEB-INF/lib"
    It seems a class loading problem but I'm using both <prefer-application-packages> and <prefer-web-inf-classes> and it's still not working. This is my weblogic-application.xml:
    <?xml version='1.0' encoding='UTF-8'?>
    <weblogic-application>
    <prefer-application-packages>
    <package-name>javax.xml.stream.*</package-name>
    </prefer-application-packages>
    </weblogic-application>
    I'm deploying using an ear file wich contains a war file.
    Logs:
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [META-INF/cxf/cxf.xml]; nested exception is java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamWriter
         at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:420)
         at org.apache.cxf.bus.spring.ControlledValidationXmlBeanDefinitionReader.doLoadBeanDefinitions(ControlledValidationXmlBeanDefinitionReader.java:109)
         at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342)
         at org.apache.cxf.bus.spring.ControlledValidationXmlBeanDefinitionReader.loadBeanDefinitions(ControlledValidationXmlBeanDefinitionReader.java:131)
         at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310)
         at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
         at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:109)
         at org.apache.cxf.bus.spring.BusApplicationContext.loadBeanDefinitions(BusApplicationContext.java:263)
         at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:123)
         at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:422)
         at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
         at org.apache.cxf.bus.spring.BusApplicationContext.<init>(BusApplicationContext.java:91)
         at org.apache.cxf.bus.spring.SpringBusFactory.createApplicationContext(SpringBusFactory.java:102)
         at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:93)
         ... 57 more
    Caused by: java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamWriter
         at java.lang.ClassLoader.defineClass1(Native Method)
         at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
         at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
         at weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:344)
         at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:301)
         at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:269)
         at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:56)
         at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:42)
         at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
         at org.apache.cxf.bus.spring.TunedDocumentLoader.loadDocument(TunedDocumentLoader.java:112)
         at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:396)
         ... 70 more
    Caused by: java.lang.ClassNotFoundException: javax.xml.stream.XMLStreamWriter

    Hi!
    We have the jar xbean-2.2.0.jar in APP-INF/lib. That one contains the class javax.xml.namespace.NameSpaceContext. I saw that the same class was in another jar as well. I've removed it from the second jar and now it's only in the xbean-2.2.0.jar. But I still get the same error. Maybe there is something wrong in my application.xml? I have all the jars in APP-INF/lib and in <war-file>/WEB-INF/lib
    Application.xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN" "http://java.sun.com/dtd/application_1_3.dtd">
    <application id="Application_ID">
    <display-name>RaadgiverPM</display-name>
    <module>
    <web>
    <web-uri>rpm.war</web-uri>
    <context-root>/raadgiverPM</context-root>
    </web>
    </module>
    <library-directory>lib</library-directory>     
    </application>
    2010-09-06 11:05:07,856 735360 [[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'] ERROR no.delfidata.dr.wsclients.drwsclients.DRWebServiceClient - [DELFI] Failed to initialize client at http://172.16.10.113:8090/mockRpmGrpMemberRltnpLSvo_Binding?wsdl
    java.lang.RuntimeException: org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [META-INF/cxf/cxf.xml]; nested exception is java.lang.LinkageError: loader constraint violation in interface itable initialization: when resolving method "org.apache.cxf.staxutils.W3CDOMStreamWriter.getNamespaceContext()Ljavax/xml/namespace/NamespaceContext;" the class loader (instance of weblogic/utils/classloaders/ChangeAwareClassLoader) of the current class, org/apache/cxf/staxutils/W3CDOMStreamWriter, and the class loader (instance of <bootloader>) for interface javax/xml/stream/XMLStreamWriter have different Class objects for the type javax/xml/namespace/NamespaceContext used in the signature
         at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:96)
         at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:86)
         at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:64)
         at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:53)
         at org.apache.cxf.BusFactory.getDefaultBus(BusFactory.java:69)
         at org.apache.cxf.BusFactory.getThreadDefaultBus(BusFactory.java:106)
         at org.apache.cxf.BusFactory.getThreadDefaultBus(BusFactory.java:97)
         at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.newInstance(DynamicClientFactory.java:132)
         at groovyx.net.ws.AbstractCXFWSClient.createClient(AbstractCXFWSClient.java:198)
         at groovyx.net.ws.WSClient.initialize(WSClient.java:107)
         at groovyx.net.ws.IWSClient$initialize.call(Unknown Source)
         at no.delfidata.dr.wsclients.drwsclients.DRWebServiceClient.initializeClient(DRWebServiceClient.groovy:47)
         at no.delfidata.dr.wsclients.drwsclients.DRWebServiceClient$initializeClient$0.callCurrent(Unknown Source)
         at no.delfidata.dr.wsclients.drwsclients.DRWebServiceClient.initializeClient(DRWebServiceClient.groovy:37)
         at no.delfidata.dr.wsclients.drwsclients.DRWebServiceClient$initializeClient.callCurrent(Unknown Source)
         at no.delfidata.dr.wsclients.drwsclients.DRWebServiceClient.<init>(DRWebServiceClient.groovy:33)
         at no.delfidata.dr.wsclients.drwsclients.GenericWebServiceClient.<init>(GenericWebServiceClient.groovy:12)
         at no.delfidata.dr.drintstd.channel.GenericWSClientManager.getClient(GenericWSClientManager.java:28)
         at no.delfidata.dr.drintstd.channel.impl.WSChannelImpl.getData(WSChannelImpl.java:46)
         at no.delfidata.dr.drintstd.integrationadapter.impl.AdapterWSImportRpmGrpMemberRltnpLSvo.getDataFromChannel(AdapterWSImportRpmGrpMemberRltnpLSvo.java:74)
         at no.delfidata.dr.drintstd.integrationadapter.AbstractIntegrationAdapter.getDataImportFromChannel(AbstractIntegrationAdapter.java:232)
         at no.delfidata.dr.drintstd.integrationadapter.AbstractIntegrationAdapter.getData(AbstractIntegrationAdapter.java:173)
         at no.delfidata.dr.drintstd.integrationengine.impl.IntegrationEngineImpl.importData(IntegrationEngineImpl.java:113)
         at no.delfidata.dr.drsvcstd.integration.impl.IntegrationServiceImpl.importCustomerData(IntegrationServiceImpl.java:117)
         at no.delfidata.dr.drsvcstd.integration.impl.StartUpService.openAndImportCustomer(StartUpService.java:81)
         at no.delfidata.dr.drstdgui.gui.control.ReceivingServletAction.execute(ReceivingServletAction.java:135)
         at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
         at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
         at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at no.delfidata.dr.drbasis.gui.filter.MenuFilter.doFilter(MenuFilter.java:78)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at no.delfidata.common.gui.filter.SecurityFilter.doFilter(SecurityFilter.java:265)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [META-INF/cxf/cxf.xml]; nested exception is java.lang.LinkageError: loader constraint violation
    in interface itable initialization: when resolving method "org.apache.cxf.staxutils.W3CDOMStreamWriter.getNamespaceContext()Ljavax/xml/namespace/NamespaceContext;" the class loader (instance of weblogic/utils/classloaders/ChangeAwareClassLoader) of the current class, org/apache/cxf/staxutils/W3CDOMStreamWriter, and the class loader (instance of <bootloader>)
    for interface javax/xml/stream/XMLStreamWriter have different Class objects for the type javax/xml/namespace/NamespaceContext used in the signature
         at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:420)
         at org.apache.cxf.bus.spring.ControlledValidationXmlBeanDefinitionReader.doLoadBeanDefinitions(ControlledValidationXmlBeanDefinitionReader.java:109)
         at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342)
         at org.apache.cxf.bus.spring.ControlledValidationXmlBeanDefinitionReader.loadBeanDefinitions(ControlledValidationXmlBeanDefinitionReader.java:131)
         at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310)
         at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
         at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:109)
         at org.apache.cxf.bus.spring.BusApplicationContext.loadBeanDefinitions(BusApplicationContext.java:263)
         at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:123)
         at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:422)
         at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
         at org.apache.cxf.bus.spring.BusApplicationContext.<init>(BusApplicationContext.java:91)
         at org.apache.cxf.bus.spring.SpringBusFactory.createApplicationContext(SpringBusFactory.java:102)
         at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:93)
         ... 48 more
    Caused by: java.lang.LinkageError: loader constraint violation in interface itable initialization: when resolving method "org.apache.cxf.staxutils.W3CDOMStreamWriter.getNamespaceContext()Ljavax/xml/namespace/NamespaceContext;" the class loader (instance of weblogic/utils/classloaders/ChangeAwareClassLoader) of the current class, org/apache/cxf/staxutils/W3CDOMStreamWriter, and the class loader (instance of <bootloader>) for interface javax/xml/stream/XMLStreamWriter have different Class objects for the type javax/xml/namespace/NamespaceContext used in the signature
         at org.apache.cxf.bus.spring.TunedDocumentLoader.loadDocument(TunedDocumentLoader.java:112)
         at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:396)
         ... 61 more

  • 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
              

  • prefer-web-inf-classes in weblogic.xml doesn't work

    When I try to use <prefer-web-inf-classes>true</prefer-web-inf-classes> it works fine with default classloaders structure. But after I changed classloaders hierarhy by means of <classloader-structure> in weblogic-application.xml classes from web app are ignored and classes from outside web app are loaded.
    Here is classloaders structure I use
    <weblogic-application>
    <classloader-structure>
    <module-ref>
    <module-uri>mywar.war</module-uri>
    </module-ref>
    <classloader-structure>
    <module-ref>
    <module-uri>myejb.jar</module-uri>
    </module-ref>
    </classloader-structure>
    </classloader-structure>
    </weblogic-application>
    Has anybody encountered this before?

    Hi, Rob
    Does it work in WL9.2?
    It seems I do it exactly as the explained at http://edocs.bea.com/wls/docs81/programming/classloading.html - and it fails :o(.
    I try to run my app.ear with WL9.2 There are 2 components in it: webapp and mdb. The webapp/WEB-INF contains weblogic.xml:
    <weblogic-web-app>
    <container-descriptor>     
    <prefer-web-inf-classes>true</prefer-web-inf-classes>
    </container-descriptor>
    </weblogic-web-app>
    Mdb is expected to run in the same mode, i.e. to prefer the webapp/WEB-INF/*.jar over the parent Weblogic classloader. To do so I add the weblogic-application.xml to the app.ear!/META-INF:
    <weblogic-application>
    <classloader-structure>
    <module-ref>
    <!-- reminder: this webapp contains
    prefer-web-inf-classes -->
    <module-uri>webapp</module-uri>
    </module-ref>
    <classloader-structure>
    <module-ref>
    <module-uri>mdb.jar</module-uri>
    </module-ref>
    </classloader-structure>
    </classloader-structure>
    </weblogic-application>
    Now, when classloader-structure specified, both webabb and mdb prefer the weblogic root loader as if prefer-web-inf-classes not defined at all.

  • Class not found in web-inf/classes folder of war file within ear file

    Hi all,
              I am using Weblogic 8.1 sp4. I have a war file within an ear file. I am trying to deploy the war file with a few classes within its web-inf/classes folder, however when the classes are in that folder I consistently get a class not found exception when trying to instantiate them. If I package the classes in a jar file and then put that jar file within the web-inf/lib folder of the war, the classes are also not found.
              If I put these two classes in the app-inf/classes folder of the ear file, everything works as expected and the classes are found.
              Any ideas of why this is happening. This seems to be a very simple thing that should work, but appears to not be working at all.
              thanks in advance for any suggestions or ideas.

    Hi,
              This is a known limitation/issue with WL. There is also no way around this.
              Regards,
              LG

  • Classes are not loading from WEB-INF/classes directory

    Hi All,
    I am in a deep troble because the class files in the WEB-INF/classes directory are not loading.
    I have deployed the application in Tomcat 6 server. And stored all class files under WEB-INF/classes dirctory. But when I execute a JSP page, I am getting following error:
    HTTP Status 500 -
    type Exception report
    message
    description The server encountered an internal error () that prevented it from fulfilling this request.
    exception
    org.apache.jasper.JasperException: Unable to compile class for JSP:
    JSP FileName:/hello.jsp
    An error occurred at line: 1 in the jsp file: /hello.jsp
    com.flt.Test cannot be resolved to a type
    1: <%=new com.flt.Test().hello()%>
    Stacktrace:
         org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:98)
         org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
         org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:435)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:298)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:277)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:265)
         org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:302)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:803)The classes are available in the WEB-INF/classes directory and the folder name and package name of the classes are correct. I have also tried to execute the application by creating a jar file and put it in the WEB-INF/lib directory. But I am getting same result.
    Is it the problem with Tomcat configuration? When I gone through Tomcat documentation, I get to know that the WebAppX class loader in Tomcat, loads application specific classes for a web application. Is it possible to start/stop WebAppx classloader manually?
    Please help me to solve this issue.
    Many Thanks,
    Francis Lukose
    Edited by: francis_ on May 13, 2008 10:03 AM

    Thanks for your reply, Soultech2012.
    <%=new com.flt.Test().hello()%>is the only code in the JSP page. Just a single line. Nothing more than that.
    The code in Test.java is as follows:
    * To change this template, choose Tools | Templates
    * and open the template in the editor.
    package com.flt;
    * @author Francis Lukose
    public class Test {
        public static String hello()    {
            return "hello";
    }Many Thanks,
    Francis
    Edited by: francis_ on May 13, 2008 6:45 PM

  • Classes not picked up from WEB-INF/classes

    9ias R2: OC4j
    Some classes could be found from WEB-INF/classes by JSP pages but some others could not.
    WEB-INF/classes is part of the classpath in JSP's point of
    view.
    And if explicitly import the class such as
    import abc;
    in JSP pages and the class could be found.
    Anybody has any idea? Or anything wrong I am doing?
    Thanks!
    David Yuan

    9ias R2: OC4j
    Some classes could be found from WEB-INF/classes by JSP pages but some others could not.
    WEB-INF/classes is part of the classpath in JSP's point of
    view.
    And if explicitly import the class such as
    import abc;
    in JSP pages and the class could be found.
    Anybody has any idea? Or anything wrong I am doing?
    Thanks!
    David Yuan

  • JAR in a WAR Classloading a .class from the WARs web-inf/class

    A little backround on my environment:
    I have a jar that contains some common functionality (common.jar) that is shared among all my web apps. There is a scheduler function in the JAR that queries the applications datasource for schedules to run. Each schedule contains a class that implements the interface ScheduleCommand and has an execute method. The ScheduleManager get the list of schedules from the db and uses a classloader to load the schedule command and call the execute method.
    ScheduleCommand cmd = (ScheduleCommand) Class.forName(scheduleCommands.getClassName()).newInstance();
    The issue:
    I have some common schedule command in the common.jar like clean temp folder, monitor memory, etc. I also want to be able to include additional schedule commands in the WAR that are unique to that web app.
    WAR
    --web-inf
    ----classes
    ------CustomScheduleCommand.class
    ----lib
    ------common.jar
    When I do this however the ScheduleManager in the common.jar is not able to find the CustomScheduleCommand.class in the WAR�s web-inf/classes. Do I need to use a different classloader or do I need to add a classpath to the manifest of the WAR?

    Hi Michael,
    there are diffrent options to do this, depending on whats needs to be achieved.
    a) Easiest way (but only possible, if no action has to go back to your template): Create an RRI-Jump-Target to your ABAP report
    b) Also only possible when no additional interaction on your template has to take place: Create a bsp and call the bsp when clicking on the button. Advantage in comparison to a) you could get a new window with for example a sucess or error message
    c) Use an own helpservice class. Now this as you have seen can get more complex, as interaction with your webtemplate can take place. In principal you need to create a class inherit from cl_rsr_www_help_window and overwrite the process_cmd method. Now you can paste your coding inside and you are finished (when you register the help service class to a web item).
    Heike

  • LinkageError on integratedWLS with prefer-web-inf-classes

    Hello.
    I'm currently messing with some reporting tool (BIRT) for weblogic. There's a web application example which should be deployed on application server for demonstration.
    I have no problems deploying it on standalone WebLogic on linux server (jrockit), but I can't run it on my local integratedWLS (hotspot) - there is LinkageError.
    Stalking through Interment, I found out that this thing has an issue with WebLogic. The application uses a lot of libraries and some of them are included in WebLogic but with lower versions, so there is jar collisions.
    To solve this issue there is weblogic.xml with:
    <container-descriptor>
      <prefer-web-inf-classes>true</prefer-web-inf-classes>
    </container-descriptor>
    As I said, with this file I can deploy the application on standalone WLS and it works normally but deploying on integratedWLS fails with LinkageError.
    If I remove weblogic.xml, deployment doesn't fail, but the application throws exceptions on runtime because of wrong jar versions (that is understandable).
    Why can't I run the application on integratedWLS with prefer-web-inf-classes?
    Thanks.
    JDev 11.1.2.3, WLS 10.3.5
    LinkageError:
    [05:51:50 PM] Redeploying Application...
    <21.10.2013 17:51:52 GST> <Warning> <HTTP> <BEA-101162> <User defined listener org.eclipse.birt.report.listener.ViewerServletContextListener failed: java.lang.LinkageError: loader constraint violation in interface itable initialization: when resolving method "org.apache.xerces.dom.ElementImpl.getSchemaTypeInfo()Lorg/w3c/dom/TypeInfo;" the class loader (instance of weblogic/utils/classloaders/ChangeAwareClassLoader) of the current class, org/apache/xerces/dom/ElementImpl, and the class loader (instance of <bootloader>) for interface org/w3c/dom/Element have different Class objects for the type org/w3c/dom/TypeInfo used in the signature.
    java.lang.LinkageError: loader constraint violation in interface itable initialization: when resolving method "org.apache.xerces.dom.ElementImpl.getSchemaTypeInfo()Lorg/w3c/dom/TypeInfo;" the class loader (instance of weblogic/utils/classloaders/ChangeAwareClassLoader) of the current class, org/apache/xerces/dom/ElementImpl, and the class loader (instance of <bootloader>) for interface org/w3c/dom/Element have different Class objects for the type org/w3c/dom/TypeInfo used in the signature
      at org.apache.xerces.dom.DeferredDocumentImpl.getNodeObject(Unknown Source)
      at org.apache.xerces.dom.DeferredDocumentImpl.synchronizeChildren(Unknown Source)
      at org.apache.xerces.dom.CoreDocumentImpl.getDocumentElement(Unknown Source)
      at org.eclipse.birt.core.framework.jar.BundleLoader.loadExtensions(BundleLoader.java:151)
      at org.eclipse.birt.core.framework.jar.BundleLoader.load(BundleLoader.java:63)
      Truncated. see log file for complete stacktrace
    >
    <21.10.2013 17:51:52 GST> <Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment request with ID '1382363510965' for task '7'. Error is: 'weblogic.application.ModuleException: '
    weblogic.application.ModuleException:
      at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1510)
      at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:482)
      at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
      at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
      at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
      Truncated. see log file for complete stacktrace
    Caused By: java.lang.LinkageError: loader constraint violation in interface itable initialization: when resolving method "org.apache.xerces.dom.ElementImpl.getSchemaTypeInfo()Lorg/w3c/dom/TypeInfo;" the class loader (instance of weblogic/utils/classloaders/ChangeAwareClassLoader) of the current class, org/apache/xerces/dom/ElementImpl, and the class loader (instance of <bootloader>) for interface org/w3c/dom/Element have different Class objects for the type org/w3c/dom/TypeInfo used in the signature
      at org.apache.xerces.dom.DeferredDocumentImpl.getNodeObject(Unknown Source)
      at org.apache.xerces.dom.DeferredDocumentImpl.synchronizeChildren(Unknown Source)
      at org.apache.xerces.dom.CoreDocumentImpl.getDocumentElement(Unknown Source)
      at org.eclipse.birt.core.framework.jar.BundleLoader.loadExtensions(BundleLoader.java:151)
      at org.eclipse.birt.core.framework.jar.BundleLoader.load(BundleLoader.java:63)
      Truncated. see log file for complete stacktrace
    >
    <21.10.2013 17:51:52 GST> <Error> <Deployer> <BEA-149202> <Encountered an exception while attempting to commit the 9 task for the application 'WebViewerWeblogic'.>
    <21.10.2013 17:51:52 GST> <Warning> <Deployer> <BEA-149004> <Failures were detected while initiating deploy task for application 'WebViewerWeblogic'.>
    <21.10.2013 17:51:52 GST> <Warning> <Deployer> <BEA-149078> <Stack trace for message 149004
    weblogic.application.ModuleException:
      at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1510)
      at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:482)
      at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
      at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
      at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
      Truncated. see log file for complete stacktrace
    Caused By: java.lang.LinkageError: loader constraint violation in interface itable initialization: when resolving method "org.apache.xerces.dom.ElementImpl.getSchemaTypeInfo()Lorg/w3c/dom/TypeInfo;" the class loader (instance of weblogic/utils/classloaders/ChangeAwareClassLoader) of the current class, org/apache/xerces/dom/ElementImpl, and the class loader (instance of <bootloader>) for interface org/w3c/dom/Element have different Class objects for the type org/w3c/dom/TypeInfo used in the signature
      at org.apache.xerces.dom.DeferredDocumentImpl.getNodeObject(Unknown Source)
      at org.apache.xerces.dom.DeferredDocumentImpl.synchronizeChildren(Unknown Source)
      at org.apache.xerces.dom.CoreDocumentImpl.getDocumentElement(Unknown Source)
      at org.eclipse.birt.core.framework.jar.BundleLoader.loadExtensions(BundleLoader.java:151)
      at org.eclipse.birt.core.framework.jar.BundleLoader.load(BundleLoader.java:63)
      Truncated. see log file for complete stacktrace
    >
    [05:51:52 PM] Deployment cancelled.
    [05:51:52 PM] ----  Deployment incomplete  ----.
    [05:51:52 PM] Remote deployment failed (oracle.jdevimpl.deploy.common.Jsr88RemoteDeployer)
    #### Cannot run application WebViewerWeblogic due to error deploying to IntegratedWebLogicServer.

    User defined listener org.eclipse.birt.report.listener.ViewerServletContextListener failed: java.lang.LinkageError: loader constraint violation in interface itable initialization: when resolving method "org.apache.xerces.dom.ElementImpl.getSchemaTypeInfo()Lorg/w3c/dom/TypeInfo
    Bug
    User defined listener org.eclipse.birt.report.listener.ViewerServletContextListener failed: java.lang.LinkageError: loader constraint violation in interface itable initialization: when resolving method "org.apache.xerces.dom.ElementImpl.getSchemaType
    Info()Lorg/w3c/dom/TypeInfo
    https://bugs.eclipse.org/bugs/show_bug.cgi?id=383926

  • Prefer-web-inf-classes Problem

    Hi ,
    I have an web application war file which has some jsp's and jar files in the lib
    directory of the war file .
    Also one of the jar files which is of different version is present in the classpath
    of WLS .
    My prb is that the my web application does not deploy . When the jsp's compile
    it uses the jar file (this is if different version from jar file in the application)which
    is set in the WLS Classpath rather than the jar file in the war file . I have
    set <prefer-web-inf-classes> as true in the web application xml . Also any of
    the classes in the jar file does not starts with java. , weblogic. , javax. .
    I think at the time of jsp compilation the jar files in lib are never loaded though
    preferwebinfclasses is true ... so does this mean that preferwebinfclasses come
    into picture only after deployment of application ?
    Can any body help me on this ..
    Regds
    Kishore

    Do you know what the patch number is? I just downloaded 10.3 and came across the same error...so I don't think it has been put in 10.3 just yet.
    Thanks
    - Doug

  • Compiling class file to WEB-INF/classes

    I have created 2 source files, viz: DatabaseConnectionBean.java and Agent.java. They both exist in the source directory. In the DatabaseConnectionBean.java I instantiate the Agent.class. When I compile at the Command prompt ... I type javac -d ..\WEB-INF\classes\ Agent.java ... it compiles fine. But when I compile the DatabaseConnectionBean.java by typing javac -d ..\WEB-INF\classes\ DatabaseConnectionBean.java it throws an error.....it cannot resolve symbol 'Agent'.
    I have included the package name, viz: smeyl, in both files.
    A strange thing happens when I type: javac -d ..\WEB-INF\classes\ *.java; at the command prompt...It doesn't throw an error....it compiles both source files....still though my jsp doesn't work properly..so this isn't a solution.
    Please help.
    any help will be appreciated....
    luv
    ushanta

    I'm not to sure myself. I've been using eclipse too long to remember all the intracacies of command line stuff. I know the theory, but am out of practice. :-)
    If you compile DatabaseConnectionBean on its own, I don't think it looks in the destination directory for supporting classes unless you tell it to:
    something like this
    javac -d ..\WEB-INF\classes\ -classpath ..\WEB-INF\classes\;%CLASSPATH% DatabaseConnectionBean.java
    If I'm talking complete rubbish here, someone will kindly (or unkindly for that matter) correct me I am sure

Maybe you are looking for

  • DMS Approval Workflow problem

    Hello Experts, I have created a DMS workdlow following the SAP DMS book however it is not working. It is somehow not starting the trigger. The trace is returning: Start condition returns 'FALSE' for object [BO,DRAW,ZFSZF700000]. My configuration: - O

  • The mysteries of auto sleep

    When I purchased my iMac it came with Leopard 10.5.6 and auto sleep worked without problems, but after updating to 10.5.7 my iMac no longer went to sleep automatically and this continued after 10.5.8. Updated my iMac to Snow Leopard 10.6, everything

  • Strange Server 2012R2 Networking Disconnect On Reboot Issue

    Strange issue. Server 2012R2, Dell R710, Broadcom BCM5709C eth adapters. 2 of the adapters are on a LAG for hyper-v. 1 is not connected, 1 is connected for management.  Every time the server reboots, the management interface does not connect. The onl

  • InDesign printing a booklet

    How do I print a 6 x 8 inch booklet (32 pages ) on 8.5 x 11 paper?  The back and front text are not aligned.  They are off slightly.

  • Colorsync fail to fix color profiles under Adobe folder

    Any suggestions how do I make it fixed? Searching for profiles... Checking 65 profiles... /Library/Application Support/Adobe/Color/Profiles/RedBlueYelllow.icc    Tag 'pseq': Required tag is not present. Could not be fixed. /Library/Application Suppor