Locating the contents of WEB-INF/classes

Hi,
We have a web-app deployed as a WAR file (unexploded) and we want to be able to the contents of WEB-INF/classes (ie properties). However when I try and access these files via a web browser, I receive a 404. I tried putting a simple HTML page in there which also gave a 404. I also tried the same method with a simple dummy WAR and was able to retrieve the HTML opage in WEB-INF/classes.
Is there some setting which allows the contents of WEB-INF/classes to be read, or not to be read?
The java version is J2SDK 1.4.2-05, and the app server is JRun 4 updater 4.
Thanks,
Jon Daniels

No - fundamentally what we are aiming for is to have the unexploded WAR app read properties (i.e. log4j.properties, etc) from the WEB-INF/classes folder. To simulate this I attempted to access properties via a web browser; however I'm not sure that's the best way to test, so to rephrase: the problem is that my WAR-file based web-app is not loading properties files from the WEB-INF/lib classes directory.

Similar Messages

  • Accessing file directory objects in 9.1 and /WEB-INF/classes zip

    It appears that in WebLogic 9.1 that the contents of the /WEB-INF/classes directory is being zipped up and placed in the /WEB-INF/lib directory under some arbitrary name.
    Is there a way to tell weblogic not to do this, but leave the /WEB-INF/classes directory expanded as it was in weblogic 8?
    Is there a particular reason, developers should be aware of, to why this is being done in 9.1 (9.x?)?
    Background :
    This particular app has a set of several hundred xml files that describe all of the screens (and thus the forms) of the app. They are used not only in the generation of the actual jsps (and believe it or not the action class as well as other supporting class, the app is really an interface to a legacy backend) but are also packaged within the WAR for the dynamic configuration of plugins used for complex validation; a quasi 'rules' engine.
    While there are several different versions of the app, and thus several different versions of xml files, there is only one version of the rules engine.
    The problem that has arised when running on 9.1 is the plugins access to those xml files.
    The plugin attempts to load the xml files by creating File object for the directory containing the xml files, and then iterating through the contents of that directory.
    The xml files are packaged within the /WEB-INF/classes directory and are thus accessible using a simple resource look-up (in actuality, a 'token' xml file is specified, looked-up as a resource and then used to determine the parent file directory's url).
    This has worked well enough as 'most' servers deploy the contents of /WEB-INF/classes directory in an expandable fashion. Obviously, this strategy readly breaks when those same contents are jar'd and placed in the /lib directory.
    It is prefered to not have to maintain a cataloge or index of the xml files because of the volume of xml files, the multiple versions of the xml files, and of course the volitility of the xml files, although this is an obvious option.
    I personally have mixed feelings about using a parent directory reference to load a set of resource files within a j2ee app. If anyone has any other suggestions, I would greatly appreciate it!
    Thanks
    Andrew

    Hi,
    Usually, the best approach would be to just to load the resources as InputStream and have a catalog (and I know this is what you do not want to do :-) So the only hacky workaround that I can think of would be to use something like Jakarta Commons Virtual File System (http://jakarta.apache.org/commons/vfs/) and read the .zip
    Regards,
    LG

  • 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

  • Equivalent "prefer-web-inf-classes" for a application?

    We know the descriptor prefer-web-inf-classes let weblogic server load the web app classes first.
    The question is I have a EJB class using a class within weblogic.jar but has different version! Is there any descriptors let weblogic load my application jars first before checking the server ClassLoader?

    We hear you!. We'll have a feature in the next WLS release. (most likely 9.2) which will address this problem. The feature isn't exactly prefer-app-inf but a better way to give you more fine grained control over the packages you'd like to have the app load itself rather than have them loaded by the System classloader.
    -- Nagesh

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

  • JSP can't call applet if the applet class is put WEB-INF/classes  in weblogic6.1sp1

              Can't the applet be put at the WEB-INF/classes folder?
              If the applet can put at WEB-INF/classes, where is the plugin's codebase?
              

              Can't the applet be put at the WEB-INF/classes folder?
              If the applet can put at WEB-INF/classes, where is the plugin's codebase?
              

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

  • How can I copy XML into WEB-INF/classes during webapp build in Workshop?

    I am having difficulty performing what seems to be a simple task. I would like to move some XML configuration files from WEB-INF/src to WEB-INF/classes as part of the Workshop build. Unfortuantely, the class com.bea...WebAppBuildTask called from Ant only seems to know how to compile Java into the directory and to copy *.properties files. I am unable to find Javadoc on the class to see if there are configuration options. In addition, the actual location to which classes are compiled seems to be abstracted from me.
    Any help would be appreciated.
    Thanks,
    Scott

    Create a custom build file for the project and add a ant tasks to move
    the files. The ant tasks would look something like this:
    <!-- copy all property and xml config files to root -->
    <copy todir="${dest.path}" overwrite="true" flatten="true">
    <fileset dir="${src.path}">
    <exclude name="**/*build*.xml"/>
    <exclude name="**/*ant*.xml"/>
    <include name="**/*.properties"/>
    <include name="**/*.xml"/>
    </fileset>
    </copy>
    HTH
    Tom
    Few other options include...
    Place the properties file in a java project, instead of a web-project :(
    Load them as resources relative to WEB-INF :(
    Add a dummy project, tell the dummy project to use your own ant file
    that does the moving. Order your projects to do this dummy project
    before the web project :(
    Best regards...
    I am having difficulty performing what seems to be a
    simple task. I would like to move some XML
    configuration files from WEB-INF/src to
    WEB-INF/classes as part of the Workshop build.
    Unfortuantely, the class com.bea...WebAppBuildTask
    k called from Ant only seems to know how to compile
    Java into the directory and to copy *.properties
    files. I am unable to find Javadoc on the class to
    see if there are configuration options. In addition,
    the actual location to which classes are compiled
    seems to be abstracted from me.
    Any help would be appreciated.
    Thanks,
    Scott
    Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/

  • WAR file fails to deploy WEB-INF/classes

    Hi All
    I am attempting to get a simple JPA on JSE app running on WLS 9.1. I can deploy my WAR file and access the jsps no problem, however the WEB-INF/classes directory is empty on deployment. How can I tell if the classes are being deployed correctly? I have tried using autodeploy and console deployment, always with the same result. My war file is structured as follows:
    WEB-INF/
    WEB-INF/faces-config.xml
    WEB-INF/weblogic.xml
    WEB-INF/web.xml
    WEB-INF/classes/
    WEB-INF/classes/my/test/package/{all classes}
    WEB-INF/lib/{all reqd libs}
    index.jsp
    When I run the jsp, there are no errors, the classes just don't appear to be doing anything. The logs have absolutely nothing to help with this, I turned on app logging in weblogic.xml and it has nothing other than the initialization in it either.
    I've deployed and run the exact same app (less the weblogic.xml file) successfully on Tomcat and OC4J, any ideas out there? Am I looking in the right place for the deployed class files (Checking the WL_HOME/samples\domains\wl_server\servers\examplesServer\tmp\_WL_user\jpa-example\xb6q08)?

    Hi,
    I've faced the same issue in WLS9.2, and but it didn't affect my web application running, I guess that the classes are read from the WAR file directly, so for me to overcome this issue, I've changed the technique of how to install web application by selecting extracted war installation instead, and from the WLS Console selected
    "I will make the deployment accessible from the following location" and selected the folder that contains the extracted WAR.
    Hope this will help,
    Issa

  • Tomcat 4.1.18 .................. WEB-INF\classes problem

    I am using Tomcat 4.1.18 and working on JSPs. I have written a JSP that calls a Bean located in WEB-INF\classes. When I make a POST call to the JSP I get the following error
    ===========
    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
    An error occurred at line: 1 in the jsp file: /techsupport.jsp
    Generated servlet error:
    [javac] Compiling 1 source file
    C:\jakarta-tomcat-4.1.18\work\Standalone\localhost\techsupport\techsupport_jsp.java:42: cannot resolve symbol
    symbol : class TechSupportBean
    location: class org.apache.jsp.techsupport_jsp
    TechSupportBean techSupportBean = null;
    ^
    An error occurred at line: 1 in the jsp file: /techsupport.jsp
    Generated servlet error:
    C:\jakarta-tomcat-4.1.18\work\Standalone\localhost\techsupport\techsupport_jsp.java:44: cannot resolve symbol
    symbol : class TechSupportBean
    location: class org.apache.jsp.techsupport_jsp
    techSupportBean = (TechSupportBean) pageContext.getAttribute("techSupportBean", PageContext.SESSION_SCOPE);
    ^
    An error occurred at line: 1 in the jsp file: /techsupport.jsp
    Generated servlet error:
    C:\jakarta-tomcat-4.1.18\work\Standalone\localhost\techsupport\techsupport_jsp.java:47: cannot resolve symbol
    symbol : class TechSupportBean
    location: class org.apache.jsp.techsupport_jsp
    techSupportBean = (TechSupportBean) java.beans.Beans.instantiate(this.getClass().getClassLoader(), "TechSupportBean");
    ^
    3 errors
         at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:130)
         at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:293)
         at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:340)
         at org.apache.jasper.compiler.Compiler.compile(Compiler.java:352)
         at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:474)
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:184)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:386)
         at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:530)
         at java.lang.Thread.run(Thread.java:484)
    ========
    The server.xml has the following context.
         <Context path="/techsupport" docBase="techsupport" debug="0"
    reloadable="true" crossContext="true">
    <Logger className="org.apache.catalina.logger.FileLogger"
    prefix="localhost_techsupport_log." suffix=".txt"
         timestamp="true"/>     
         </Context>
    ==============
    Can somebody tell me where I went wrong? I think some configuration is missing especially CLASSPATH but am using the default CLASSPATH and the
    webapps/examples is working fine.
    My program is located at webapps/techsupport folder.
    Thanks.
    Amitabh.
    [email protected]

    in the techsupport.jsp
    try adding this
    <%@ page import="TechSupportBean"%>

  • Copying files from same directory as *.java files and moving to WEB-INF/classes/ package name

    In our current application we have the following source directory structure:
              src -
              - com
              - edeploy
              - subdirs ... (many directories here)
              - jsp
              -subdirs ... (many directories here)
              In com.edeploy.subdirs, there exists *.java files, and *.gxq files (query
              files). I would like to modify my build.cmd script to copy the *.gxq files
              into the same directory as the class files.
              Here's my script so far:
              @REM Create list of files to compile
              DIR /S /B /A:-D src\com\*.java >class.list
              @REM Create list of query files
              DIR /S /B /A:-D src\com\*.gxq >query.list
              @REM Compile
              javac -d stage\WEB-INF\classes @class.list
              @REM Copy query files into class directory
              .......... code needed here ......
              Can anyone help me with this?
              Thanks,
              Matt
              

    You may want to check out:
              http://jakarta.apache.org/ant/index.html
              Gary
              "Matt Raible" <[email protected]> wrote in message
              news:[email protected]..
              > In our current application we have the following source directory
              structure:
              >
              > src -
              > - com
              > - edeploy
              > - subdirs ... (many directories here)
              > - jsp
              > -subdirs ... (many directories here)
              >
              >
              > In com.edeploy.subdirs, there exists *.java files, and *.gxq files (query
              > files). I would like to modify my build.cmd script to copy the *.gxq
              files
              > into the same directory as the class files.
              >
              > Here's my script so far:
              >
              > @REM Create list of files to compile
              > DIR /S /B /A:-D src\com\*.java >class.list
              >
              > @REM Create list of query files
              > DIR /S /B /A:-D src\com\*.gxq >query.list
              >
              > @REM Compile
              > javac -d stage\WEB-INF\classes @class.list
              >
              > @REM Copy query files into class directory
              > .......... code needed here ......
              >
              > Can anyone help me with this?
              >
              > Thanks,
              >
              > Matt
              >
              >
              

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

  • Accessing classes in web-inf/classes within JSP

    hi,
    i know this is probably a very basic question..or nobody would ever do something like this..but I'mn curious:
    i have a class Car.class in the WEB-INF/classes directory and I want to access it from withing JSP : <% Car c = new Car(); %>
    the problem is that the server tries to load the class from the package : org.apache.jsp.Car ! when putting car into an own package like my.Car then it works.. but how do i get it working without putting it into a separate package?!
    thx

    You could try packaging it in a jar, and placing the jar in WEB-INF/lib... I have no idea if that will help, but when you're debugging, you have to be willing to try anything.. :)

Maybe you are looking for