Ear Classpath problem

I have an ear file that contains
staiAppln.ear
-> stai.war
-> staiEJB.jar
-> application.xml (defining stai.war as web module & staiEJB as EJB
module)
-> manifest.mf (empty except for version number)
staiEJB.jar contains the various classes and EJBs to support the web
app as well as a class that allows you to run the application from a
dos prompt
(eg java -cp staiEJB.jar;%CLASSPATH% stai.Client) which works fine.
The problem is how to configure the ear file so that you can run the
same prompt using the ear file (eg java -cp staiAppln.ear;%CLASSPATH%
stai.Client).
Currently I get a ClassNotFound exception on stai.Client as it is not
finding the class within staiEJB.jar. I have tried modifying the
manifest.mf and adding a classpath line, but that only worked if the
staiEJB.jar was in the same directory as the staiAppln.ear. Can anyone
point me in the right direction??
Thanks
Terry

Hi Terry,
EAR is a jar file. AFAIK you java can not load classes from
jars in a jar (unless you implement a classloader that can handle it).
So you could just unjar ear and put it's jars into the classpath.
Regards,
Slava Imeshev
"Terry Treadwell" <[email protected]> wrote in message
news:[email protected]..
I have an ear file that contains
staiAppln.ear
-> stai.war
-> staiEJB.jar
-> application.xml (defining stai.war as web module & staiEJB as EJB
module)
-> manifest.mf (empty except for version number)
staiEJB.jar contains the various classes and EJBs to support the web
app as well as a class that allows you to run the application from a
dos prompt
(eg java -cp staiEJB.jar;%CLASSPATH% stai.Client) which works fine.
The problem is how to configure the ear file so that you can run the
same prompt using the ear file (eg java -cp staiAppln.ear;%CLASSPATH%
stai.Client).
Currently I get a ClassNotFound exception on stai.Client as it is not
finding the class within staiEJB.jar. I have tried modifying the
manifest.mf and adding a classpath line, but that only worked if the
staiEJB.jar was in the same directory as the staiAppln.ear. Can anyone
point me in the right direction??
Thanks
Terry

Similar Messages

  • War inside ear; Classpath problem

    I have a deployment structure like the following:
    app.ear
    + META-INF
    --application.xml 
    --lib
    -- commons*.jar
    --ejb.jar
    --web.war
    --WEB-INF
    --META-INF 
    I have all the common jars inside top level lib directory. The war file references
    them through an entry in manifest.mf file. This setup works in weblogic 6.1
    But in weblogic 8.1, it complains that Digester class is unable to load one of
    web app presentation layer class.
    It works in 8.1 if i move the common jar files to APP-INF\lib; So is there anyway
    i can make it work with the entry manifest file?
    -Jay

    My guess is a problem with Digester not using the Thread's context
    classloader.
    Cheers
    mbg
    "Jay Rege" <[email protected]> wrote in message
    news:[email protected]...
    >
    Here is the stack trace.
    ==============
    [weblogic] | 2003-06-27 17:54:24,854 | ERROR |org.apache.commons.digester.Digester
    | Begin event threw e
    rror
    [weblogic] java.lang.NoClassDefFoundError:org/apache/commons/collections/FastHashMap
    [weblogic] atorg.apache.commons.beanutils.BeanUtils.<clinit>(BeanUtils.java:106)
    [weblogic] atorg.apache.commons.digester.SetPropertiesRule.begin(SetPropertiesRule.java:2
    59)
    [weblogic] at org.apache.commons.digester.Rule.begin(Rule.java:200)
    [weblogic] atorg.apache.commons.digester.Digester.startElement(Digester.java:1273)
    [weblogic] atweblogic.apache.xerces.parsers.AbstractSAXParser.startElement(AbstractSAXPar
    ser.java:459)
    [weblogic] atweblogic.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Abstra
    ctXMLDocumentParser.java:
    221)
    [weblogic] javax.servlet.ServletException:org/apache/commons/collections/FastHashMap
    =============
    commons-digestor.jar and commons-beanutils.jar are there under top levellib directory.
    >
    I can use put them under APP-INF\lib, but i am trying to figure out why itdoesn't
    work with manifest file.
    -Jay
    "Mark Griffith" <[email protected]> wrote:
    Why not put it in APP-INF\lib?
    And where are the Digester classes and the web app presentation layer
    classes and what is the full stack?
    cheers
    mbg
    "Jay Rege" <[email protected]> wrote in message
    news:[email protected]...
    I have a deployment structure like the following:
    app.ear
    + META-INF
    --application.xml
    --lib
    -- commons*.jar
    --ejb.jar
    --web.war
    --WEB-INF
    --META-INF
    I have all the common jars inside top level lib directory. The warfile
    references
    them through an entry in manifest.mf file. This setup works in weblogic6.1
    But in weblogic 8.1, it complains that Digester class is unable toload
    one of
    web app presentation layer class.
    It works in 8.1 if i move the common jar files to APP-INF\lib; So isthere
    anyway
    i can make it work with the entry manifest file?
    -Jay

  • Classpath problems in EAR packaging?

    I try to access an EJB from a JSP. The JSP resides in web.war and the bean is in ejb.jar, and both of these are packaged together in an ear.
    I get a compile error when I try opening a JSP. I've had this problem in all my attempts to use my bean classes from JSP.
    My browser reports that the compiler cannot find the beans package. I have servlets within the war-file that are able to find the beans package, but the JSPs aren't.
    My ear-file contains 3 files
    ejb.jar
    web.war
    META-INF\MANIFEST.MF
    The manifest classpath points to ejb.jar and web.war
    My guess is that this has something to do with the way this is deployed by GlassFish.
    The application is deployed in the
    domains\mydomain\applications\j2ee-apps\myear\
    This directory contains the expanded files:
    ejb_jar\
    web_war\
    META-INF
    So the Java classes under web_war\ are able to see the Java classes under ejb_jar\ (i.e. my servlets)
    However; when GlassFish creates Java files from the JSPs and then tries to compile them, these files are placed under
    domains\mydomain\generated\jsp\j2ee-apps\myear\web_war\org\apache\jsp\jsp
    This might be correct for all I know, but apparently the compiler is unable to find the Java classes located under the mydomain\applications\.. directory when compiling classes located under the mydomain\generated\.. directory. There are no other files from my ear anywhere in the "generated" directory.
    So to me this seems to be some kind of classpath problem, as the compiler cannot find the needed files.
    Does this make any sense to anyone?
    PS
    In my ear, the JSPs are placed in the web.war. The war file looks like this:
    jsp\
       myjsp.jsp
    META-INF
       MANIFEST.MF
    WEB-INF
       web.xml
       lib\
          mylib.jarThanks
    \\Marius

    Marius,
    If you want communicate the bean you have to do following things.
    . Create a factory for the correct protocol
    . Obtain a Home
    . Use the Home to create stubs to the remote object
    So you want to call the Home and Remote interfaces to access the bean. When you run the client program, it will create the remote object that time it has to search the Home and Remote interfaces. So you have included those files for references in following location
    WEB-INF/classes
         -- <Home Interface File Name>.class
         -- <Remote Interface File Name>.class
    Or
    WEB-INF/lib
         -- <Bean Jar file name>.jar
    I think you will understand.
    -Mani

  • Problem with NetWeaver 2004s EAR classpath for EJB

    I'm working with SAP NetWeaver Developer Studio Version: 7.0.09.
    I am trying to reference additional JARs from an EJB at runtime in the J2EE engine.  I have added the additional JARs to my EAR project (I have a separate EJB module project) through "Properties/Archive Build Info."  Then I have updated my EAR classpath by double-clicking on the application-j2ee-engine.xml and selecting Expert settings then specify a list of JAR's in the "Additional classpath" field as such: "log4j-1_2_8.jar, basis-test.jar,commons-beanutils-bean-collections.jar,commons-beanutils-core.jar,commons-beanutils.jar"  Then I build the Application Archive (the EAR) and deploy to the J2EE Engine.
    This is what my application-j2ee-engine.xml in my EAR looks like:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE application-j2ee-engine SYSTEM "application-j2ee-engine.dtd">
    <application-j2ee-engine>
         <classpath>log4j-1_2_8.jar, basis-test.jar,commons-beanutils-bean-collections.jar,commons-beanutils-core.jar,commons-beanutils.jar</classpath>
         <provider-name>sap.com</provider-name>
         <fail-over-enable
              mode="disable"/>
    </application-j2ee-engine>
    Then when I run my client code against the EJB (actually through a web service) I get an error in the log -- a "NoClassDefFoundError" on the log4j-1_2_8.jar file from a log4j call:
    EntryPoint: [/SalesOrderCalculation/Config1]. Implementation exception occurs. Please check implementation container(e.g. EJB) logs for additional information! com.sap.engine.services.ejb.exceptions.BaseEJBException: Exception in method calculateOrder.->java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
    Why is my EJB not finding the jar file even though I add it to the EAR and specify the additional classpath for the EAR?
    Edited by: Juan Reyes on Jul 30, 2008 9:08 AM

    Removed the word URGENT from your subject.
    Please read the "Rules of Engagement"

  • Classpath problem

    i am here stuck..
    my dir structure is
    c:\my\xxx\yyy\zzz
    i have a code ...
    package xxx.yyy.zzz;
    class A
    // some code
    }i have compiled sucessfully and put the clsss file into c:\my\xxx\yyy\zzz folder.
    now i want to import it in another class
    like...
    package xxx.yyy; // note this
    import xxx.yyy.zzz.*; // note this
    class B
    // some code
    // creating instance of class A here
    }question is how do i compile and run it ?
    i am at c:\my---> what should be the command to compile and run the above code?
    plz give me the explicit command so that i can test and verify . i have given the dir structure.
    i have tried several ways but got class not found exception and errors . i know its a classpath problem but i could not figure out what should i type at the c:\my prompt.
    can u give exact command to run and compile the above code in steps ?
    thanx

    question is how do i compile and run it ?You don't with that code. You've defined class A to have "package visibility," meaning it can't be used from outside its package. You should declare it with public visibility instead, like "public class A {...".
    Once you change that, use these commands to compile and run:c:\my\>javac xxx/yyy/zzz/A.java
    c:\my\>javac xxx/yyy/B.java
    c:\my\>java xxx.yyy.B

  • Classpath Problem (Using JSAPI)

    Hi,
    I using IBM Via Voice as a the implementation of the JSAPI on my system. I've downloaded the speech for java pack from IBM Alphaworks and put it in the directory of
    c:\ibmjs
    This gives you access to the speech packages for utilisation in your programs so I should be able to import javax.speech in my programs. However the system doesn't see these classes.
    Heres my Autoexec...
    path=%path%;c:\jdk1.3.1_01\bin;c:\ibmjs\lib;
    CLASSPATH=%CLASSPATH%;c:\ibmjs\lib\ibmjs.jar;
    I presume the whole thing is just a classpath problem, does anybody have any idea from the above paths where I am going wrong?

    i guess you have to put some of ibm's dll files coming with speech for java in the path (not classpath). it's not sufficient to have the directories in the path.
    anyway, there come's an installation manual with speech for java which explaines all that.

  • Fragment Bundle Classpath problems

    Does anyone have any tips for solving classpath problems in fragment bundles? I'm getting a no-class-def that I can't explain.
    I've used maven to create a fragment, hosted by com.day.crx.sling.server, to create a custom login. It needs to call a web service, so I've included httpclient-4.2.3.jar. I can see this jar listed on the deployed fragment's Bundle-ClassPath, via the osgi>bundle console. When I inspect the bundle that maven created, I can find this jar contained in the bundle jar, in the directory specified in the Bundle-ClassPath. I even oppened the httpclient jar to ensure that the offending class (org/apache/http/client/HttpClient) is there.
    This is the first fragment that I've tried to build. Is there something I don't know about how they load classes?
    Does anyone have any tips or tricks on solving osgi classpath problems? I read that felix has some tools, but I haven't found any documentation about them.

    I'm still not sure why the classes didn't load, but I have a solution to my problem - don't try to include the jars in the fragment bundle. I tracked down osgi-ready versions of the libraries that I needed and and installed them.

  • Another simple classpath problem question

    Hi All
    Yes I know, there are a lots of questions about this matter, but I couldn't found a solution to my problem.
    I have a simple program:
    public class prueba {
            public static void main(String[] args) {
                    System.out.println("Ahi va...");
    }placed in /tmp/javier/prueba.java
    After compiled, I've tried to run it from / and then problems started:
    cd /
    java /tmp/javier/prueba
    Exception in thread "main" java.lang.NoClassDefFoundError: /tmp/javier/prueba (wrong name: prueba)
    I said, ok...it could be a classpath problem...then:
    java -cp /tmp/javier/ /tmp/javier/prueba
    Exception in thread "main" java.lang.NoClassDefFoundError: /tmp/javier/prueba
    Damn, another try...
    java -cp .:/tmp/javier/ /tmp/javier/prueba
    Exception in thread "main" java.lang.NoClassDefFoundError: /tmp/javier/prueba (wrong name: prueba)
    Jesus Christ....may be the last slash....
    java -cp .:/tmp/javier /tmp/javier/prueba
    Exception in thread "main" java.lang.NoClassDefFoundError: /tmp/javier/prueba (wrong name: prueba)
    Oh...no.... may be classpath to java classes..
    java -cp .:/usr/java/j2sdk1.4.2_01/lib/jre/:/tmp/javier/ /tmp/javier/prueba
    Exception in thread "main" java.lang.NoClassDefFoundError: /tmp/javier/prueba (wrong name: prueba)
    Well, I don't know why this error happens....
    Please, could somebody help me !!!
    Thanks in advance...
    <jl>

    It's not too early to start following the Sun coding
    conventions for Java:
    http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.
    tmlHi
    thanks for your reply.
    Yes, I agree. I use conventions with my programs. But my real problem was with a real application and then I did quickly this simple code to help others to understand the problem and give a fast reply...
    Let me know if that works. (It was fine on my
    machine.) - MODYes it works fine, thanks.... and Damn...Murphys law again, the only option I didn't tried is the solution to my problem... :)
    Thanks again...

  • Again classpath problem

    again classpath problem.... i have tried to solve it in many ways but all failed. here is one
    instance of my effort which did not give me success.
    i have a FOLDER > c:/com/abc/def/ijk
    and files......
    MyClass.java
    ==============
    package com.abc.def.ijk
    class MyClass
    // blah
    // blah
    }c:\com\abc\def\ijk>javac MyClass.java ===>compiled fine and created a class file.
    and also one more file.....
    OneMoreClass.java
    =================
    import com.abc.def.ijk.MyClass
    class OneMoreClass
    // blah
    // blah
    }c:\com\abc\def\ijk>javac OneMoreClass.java ===> Error!!! package com.abc.def.ijk does not exist !!!!
    how can i solve it ?

    yea, this works....eariler i also usued to do this
    way. but this time i forgot.
    by the way, why individually it did not work !!!.Because you were in the package directory itself, and the classpath was set to the cwd, so java was looking for package directories at this level.
    and also when i specify directly by
    c:\com\abc\def\ijk
    javac  -classpath c:\com\abc\def\ijk\MyClass
    OneMoreClass.java ...it does not work!!.
    STRANGE! why ?Because by stating the package directory as classpath, you do the same as explained above. Stay out of package directories, stay one level above them, don't regard them as common directories. When declaring classpaths, don't mention package directories but the directories that contain them.

  • JDBC and Classpath problems on OpenVMS

    Hello,
    I'm working on an OpenVMS server and I got a simpler Java application that needs to establish a connection to an Oracle database, the application works perfectly well on Windows but when I moved to OpenVMS I got some problems with the oracle driver.
    I believe I�m using the correct driver, I already checked on the oracle site according to my java version (1.4.2) and my database version (oracle 9i 9.2.0.7.0)
    This is the error:
    $java -jar miss.jar "DnBProcess"
    About to start loading parameters for the MISS Proxy.
    Successfully load parameters for the MISS Proxy.
    About to load interface settings for DnBProcess
    Settings for DnBProcess succesffully loaded.
    About to load interface DnBProcess
    About to start loading parameters for DnB Interface.
    Successfully load parameters for DnB Interface.
    Interface DnBProcess succesffully loaded.
    About to execute interface DnBProcess
    Connecting to the database...
    java.lang.NoClassDefFoundError: oracle/jdbc/OracleDriver
    at miss.DnBProcess.ExecuteQueryToFile(DnBProcess.java:85)
    at miss.DnBProcess.Execute(DnBProcess.java:178)
    at miss.Proxy.ExecuteInterface(Proxy.java:160)
    at miss.Proxy.main(Proxy.java:207)
    I know is a classpath problem, and my classpath on VMS looks like this:
    define JAVA$CLASSPATH .,SYS$COMMON:[JAVA$142.LIB]TOOLS.JAR,SYS$COMMON:[JAVA$142.LIB]DT.JAR,SYS$COMMON:[JAVA$142.JRE.LIB]RT.JAR, USER1:[MONTEALEGRE.TEST.LIBS]OJDBC14.JAR,USER1:[MONTEALEGRE.TEST.MISS.LIBS]OJDBC14.JAR,[]
    As you can see I added the �ojdbc14.jar� in different folders but my application seems not to find it.
    Does anyone know how to set the classpath properly on VMS? Or maybe give me some tips that could lead me to find a solution to this problem.
    Thanks.
    Ileana.

    I would try googling for OpenVMS classpath. Unfortunatley the first result is this thread but there are a bunch of resources from IBM and HP listed and maybe they can help you.

  • Help classpath problem j2sdk1.4.2_04

    help classpath problem j2sdk1.4.2_04
    how can i run the java program with specify the file location
    such as :
    -----this one is fine ok and return HelloWorld.class-----
    [root@localhost root]javac /serverData/studentAC/s001/HelloWorld.java
    -----but this one cause exception-----
    [root@localhost root]java /serverData/studentAC/s001/HelloWorld
    -----result-----
    Exception in thred "main" java.lang.NoClassDefFoundError: /serverData/studentAC/s001/HelloWorld
    [root@localhost root]
    I have tried a lot of classpath setting:
    I just want to compile and run the java program without specify the classpath only !! please help !!! and give suggest !! if you have this exp!!
    # ---1
    #PATH=/usr/java/j2sdk1.4.2_04/bin:$PATH:$HOME/bin:./
    #export PATH
    #export JAVA_HOME=/usr/java/j2sdk1.4.2_04/
    #export #CLASSPATH=/usr/java/j2sdk1.4.2_04/lib/tools.jar:/usr/java/j2sdk1.4.2_04/jre/lib/rt.jar:./
    # ---2
    #set java environment
    # Java Setup Section START
    export JAVA_HOME="/usr/java/j2sdk1.4.2_04"
    export JRE="$JAVA_HOME/jre"
    export CLASSPATH="$JAVA_HOME/lib:$JRE/lib:$JAVA_HOME/lib/tools.jar:."
    export PATH="$PATH:$JAVA_HOME/bin"
    # Java Setup Section END
    # ---3
    #PATH=$PATH:/usr/java/j2sdk1.4.2_04/bin
    #JAVA_HOME=/usr/java/j2sdk1.4.2_04/
    #export PATH
    # ---4
    # Java Setup Section START
    #JAVA_HOME=/usr/java/j2sdk1.4.2_04
    #export JAVA_HOME
    #CLASSPATH=$CLASSPATH:/usr/java/j2sdk1.4.2_04/lib:/usr/java/j2sdk1.4.2_04/jre/lib:./
    #export CLASSPATH
    #PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
    #export PATH
    # Java Setup Section END
    # ---5
    #export PATH=$PATH:/usr/java/j2sdk1.4.2_04/bin
    #export JAVA_HOME=/usr/java/j2sdk1.4.2_04
    #export CLASSPATH=/usr/java/j2sdk1.4.2_04/lib:$CLASSPATH:.
    # ---6
    #====================================================
    #export JAVA_HOME=/usr/java/j2sdk1.4.2_04
    #export PATH=$JAVA_HOME/bin:$PATH
    #export CLASSPATH=/usr/java/j2sdk1.4.2_04/lib:$CLASSPATH
    #====================================================

    I think this will work. java -classpath /serverData/studentAC/s001 HelloWorld

  • Servicegen classpath problem

    I'm trying to find out the status of the servicegen classloading problem
    (specifying a classpath in a servicegen task causes class cast exceptions).
    We are currently using the workaround described in this group which is
    putting the weblogic jars in the system classpath. This workaround is very
    unwieldy in our build environment. Is there any estimate on when the
    problem will be fixed?

    And was it? I am using 7.0sp4 and am getting classpath problems in servicegen.
    The problem I am having is that the type generation fails to find any of the weblogic
    utility classes, sug as weblogic.xml.schema.binding.util.runtime.PropertyInfo
    (and many many others)
    "Neal Yin" <[email protected]> wrote:
    This will be fixed in 7.0sp3 and 8.1sp1.
    Thanks,
    -Neal
    "John Horner" <[email protected]> wrote in message
    news:[email protected]..
    I'm trying to find out the status of the servicegen classloading problem
    (specifying a classpath in a servicegen task causes class castexceptions).
    We are currently using the workaround described in this group whichis
    putting the weblogic jars in the system classpath. This workaroundis
    very
    unwieldy in our build environment. Is there any estimate on when the
    problem will be fixed?

  • Classpath problem in exploded ear

    I'm having problems deploying an application in a new environment. We deploy Mercury.ear as an exploded ear under
    Windows in a single-server domain without any problem.
    I am tasked with setting up a WL cluster as the first step in our cluster certification/testing (under Linux/RedHat ASE 3.0).
    We are using WL 8.1. SP2. This should be a relatively trivial task, but I must be missing something obvious,
    because I've been banging my head on it the last couple of days.
    Basically, I have two WL managed servers, ClusterMember1 and ClusterMember2 and an admin server AdminServer created in a WL domain.
    All servers start normally (when no applications are deployed to the managed servers).
    I have appended our entire config.xml to the end of this post, but here is the relevant <Application> section:
    <Application Name="Mercury"
    Path="/root/bea/user_projects/domains/clusterdomain/applications/Mercury"
    StagingMode="nostage" TwoPhase="true">
    <EJBComponent Name="MercuryEJB.jar" Targets="ClusterMember1" URI="MercuryEJB.jar"/>
    <WebAppComponent Name="Apollo" Targets="ClusterMember1" URI="MercuryWeb.war"/>
    <ConnectorComponent Name="SpectraConnector.rar"
    Targets="ClusterMember1" URI="SpectraConnector.rar"/>
    </Application>
    I am only attempting to deploy to managed server ClusterMember1 at this time.
    When I attempt to start ClusterMember1:
    ./startManagedWebLogic.sh ClusterMember1 http://localhost:9001 &
    It starts up, syncs with the admin server, and then attempts to deploy the Mercury application. I get the following exception when it attempts to start the Mercury application:
    <Feb 1, 2006 10:07:55 AM CST> <Error> <HTTP> <BEA-101216> <Servlet: "context" failed to preload on startup in Web application: "Apollo".
    javax.servlet.ServletException: Error registering bean with name 'ApolloSessionManager' defined in URL [file:/root/bea/user_projects/domains/clusterdomain/applications/Mercury/mercuryresources.jar/resources/xml/springconfig/Service-DAO-config.xml]: Class that bean class [com.sg.sims.mercury.apolloweb.service.processor.ApolloSessionManager] depends on not found; nested exception is java.lang.NoClassDefFoundError: com/sg/sims/mercury/apolloweb/service/processor/ApolloSessionManager
         at weblogic.servlet.internal.ServletStubImpl.createServlet()Ljavax/servlet/Servlet;(ServletStubImpl.java:985)
    {...snipped...}
    Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Error registering bean with name 'ApolloSessionManager' defined in URL [file:/root/bea/user_projects/domains/clusterdomain/applications/Mercury/mercuryresources.jar/resources/xml/springconfig/Service-DAO-config.xml]: Class that bean class [com.sg.sims.mercury.apolloweb.service.processor.ApolloSessionManager] depends on not found; nested exception is java.lang.NoClassDefFoundError: com/sg/sims/mercury/apolloweb/service/processor/ApolloSessionManager
         at org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.parseBeanDefinition(Lorg/w3c/dom/Element;Ljava/lang/String;)Lorg/springframework/beans/factory/config/BeanDefinition;(DefaultXmlBeanDefinitionParser.java:366)
    {...snipped...}
    Caused by: java.lang.NoClassDefFoundError: com/sg/sims/mercury/apolloweb/service/processor/ApolloSessionManager
         at java.lang.Class.forName(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;(Unknown Source)
         at org.springframework.beans.factory.support.BeanDefinitionReaderUtils.createBeanDefinition(Ljava/lang/String;Ljava/lang/String;Lorg/springframework/beans/factory/config/ConstructorArgumentValues;Lorg/springframework/beans/MutablePropertyValues;Ljava/lang/ClassLoader;)Lorg/springframework/beans/factory/support/AbstractBeanDefinition;(BeanDefinitionReaderUtils.java:50)
    {...snipped...}
    Clearly, Spring can't find the ApolloSessionManager class (or one of its dependent classes, the error message is somewhat unclear in places).
    However, the ApolloSessionManager.class file is there, under the mercurybusiness.jar directory (with package structure).
    // from ${DOMAIN_HOME}/applications/Mercury:
    ls -la mercurybusiness.jar/com/sg/sims/mercury/apolloweb/service/processor/ApolloSessionManager
    -rw-r--r-- 1 root root 7162 Jan 31 17:20 mercurybusiness.jar/com/sg/sims/mercury/apolloweb/service/processor/ApolloSessionManager.class
    mercurybusiness.jar (in turn) is present in the MercuryEJB.jar MANIFEST.MF file:
    // ${DOMAIN_HOME}/applications/Mercury/MercuryEJB.jar/META-INF/MANIFEST.MF:
    Manifest-Version: 1.0
    Ant-Version: Apache Ant 1.6.1
    Created-By: 1.4.2_05-b04 (Sun Microsystems Inc.)
    Class-Path: mercurycommon.jar mercuryresources.jar mercurybusiness.jar mercuryserviceflow.jar mercuryutils.jar spectraconnector.rar {...snipped...}
    The same situation appears for the classes that ApolloSessonManager depends on: MercuryLogger (a log4j wrapper) and the HTTPClient.jar classes
    (e.g. Cookie, etc), except 3rd party jars are listed in the MANIFEST.MF of MercuryEJB.jar but are not exploded.
    There is no weblogic-application.xml file to override the default classloader hierarchy, so my understanding
    is that everything in the application should share a single classloader.
    So I am at a loss to understand why classes in MercuryWeb.war can not load classes in dependent jars of MercuryEJB.jar.
    As a note, if I add /root/bea/user_projects/domains/clusterdomain/applications/Mercury/mercurybusiness.jar to the CLASSPATH variable in startManagedWebLogic.sh,
    this error disappears of course, and it barfs on the next application class it can't find (in one of the other exploded jars that MercuryEJB.jar depends on.
    Can someone help point out what I may be missing?
    Chris Goodacre
    // config.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <Domain ConfigurationVersion="8.1.5.0" Name="clusterdomain">
    <Server Cluster="SIMS_TEST_CLUSTER_1" ListenAddress=""
    ListenPort="9001" Name="AdminServer" NativeIOEnabled="true"
    ReliableDeliveryPolicy="RMDefaultPolicy" ServerVersion="8.1.5.0">
    <SSL Enabled="false" HostnameVerificationIgnored="false"
    IdentityAndTrustLocations="KeyStores" Name="AdminServer"/>
    </Server>
    <WSReliableDeliveryPolicy DefaultRetryCount="10"
    DefaultTimeToLive="60000" Name="RMDefaultPolicy" Store="FileStore"/>
    <Security Name="clusterdomain"
    PasswordPolicy="wl_default_password_policy"
    Realm="wl_default_realm" RealmSetup="true"/>
    <EmbeddedLDAP
    CredentialEncrypted="{3DES}dMeE/vNpCcbjzOMZGfNeShv5VFZuQ=" Name="clusterdomain"/>
    <SecurityConfiguration
    CredentialEncrypted="{3DES}jFRG5NzABP8IAJa5M/PNNRCtZYaqkc2zUTYjlysL+md+TAgZw6IfgCjzzre4e7p5gyJEt+0UkPXNleN0QtW7Ef"
    Name="clusterdomain" RealmBootStrapVersion="1"/>
    <Realm FileRealm="wl_default_file_realm" Name="wl_default_realm"/>
    <FileRealm Name="wl_default_file_realm"/>
    <PasswordPolicy Name="wl_default_password_policy"/>
    <JMSConnectionFactory DefaultDeliveryMode="Non-Persistent"
    JNDIName="jms/ConnectionFactory" Name="ConnectionFactory" Targets="AdminServer"/>
    <JMSFileStore Directory="rmfilestore" Name="FileStore"/>
    <JMSServer Name="WSStoreForwardInternalJMSServerAdminServer"
    Store="FileStore" Targets="AdminServer">
    <JMSQueue CreationTime="1123128740234"
    JNDIName="jms.internal.queue.WSStoreForwardQueue"
    JNDINameReplicated="false" Name="WSInternaljms.internal.queue.WSStoreForwardQueueAdminServer"/>
    <JMSQueue CreationTime="1123128740390"
    JNDIName="jms.internal.queue.WSDupsEliminationHistoryQueue"
    JNDINameReplicated="false" Name="WSInternaljms.internal.queue.WSDupsEliminationHistoryQueueAdminServer"/>
    <JMSQueue CreationTime="1123128837453" JNDIName="jms/MenuQueue"
    Name="MenuQueue" StoreEnabled="false"/>
    <JMSQueue CreationTime="1123128864296"
    JNDIName="jms/MenuXMLQueue" Name="MenuXMLQueue" StoreEnabled="false"/>
    <JMSQueue CreationTime="1123128892343"
    JNDIName="jms/DataSyncQueue" Name="DataSyncQueue" StoreEnabled="false"/>
    <JMSQueue CreationTime="1123128915421"
    JNDIName="jms/LoginRefreshQueue" Name="LoginRefreshQueue" StoreEnabled="false"/>
    <JMSQueue CreationTime="1123128937046"
    JNDIName="jms/ProfileQueue" Name="ProfileQueue" StoreEnabled="false"/>
    <JMSQueue CreationTime="1123128957125"
    JNDIName="jms/ReportsQueue" Name="ReportsQueue" StoreEnabled="false"/>
    </JMSServer>
    <Cluster Name="SIMS_TEST_CLUSTER_1"/>
    <Server Cluster="SIMS_TEST_CLUSTER_1" ExpectedToRun="false"
    ListenPort="9999" Name="ClusterMember1" ServerVersion="8.1.5.0">
    <ServerDebug Name="ClusterMember1"/>
    <SSL IdentityAndTrustLocations="KeyStores" Name="ClusterMember1"/>
    <KernelDebug Name="ClusterMember1"/>
    <Log Name="ClusterMember1"/>
    <ServerStart Name="ClusterMember1"
    PasswordEncrypted="{3DES}TC7nfOvKF0xwJB/f+tyYwQ==" Username="toolbox"/>
    <WebServer Name="ClusterMember1"/>
    <COM Name="ClusterMember1"/>
    <IIOP Name="ClusterMember1"/>
    <JTAMigratableTarget Name="ClusterMember1" UserPreferredServer="ClusterMember1"/>
    <JTARecoveryService Name="ClusterMember1"/>
    </Server>
    <MigratableTarget Cluster="SIMS_TEST_CLUSTER_1"
    Name="ClusterMember1 (migratable)"
    Notes="This is a system generated default migratable target for a server. Do not delete manually." UserPreferredServer="ClusterMember1"/>
    <Server Cluster="SIMS_TEST_CLUSTER_1" ExpectedToRun="false"
    ListenPort="9998" Name="ClusterMember2" ServerVersion="8.1.5.0">
    <ServerDebug Name="ClusterMember2"/>
    <SSL IdentityAndTrustLocations="KeyStores" Name="ClusterMember2"/>
    <KernelDebug Name="ClusterMember2"/>
    <Log Name="ClusterMember2"/>
    <ServerStart Name="ClusterMember2"
    PasswordEncrypted="{3DES}TC7nfOvKF0xwJB/f+tyYwQ==" Username="toolbox"/>
    <WebServer Name="ClusterMember2"/>
    <COM Name="ClusterMember2"/>
    <IIOP Name="ClusterMember2"/>
    <JTAMigratableTarget Name="ClusterMember2" UserPreferredServer="ClusterMember2"/>
    <JTARecoveryService Name="ClusterMember2"/>
    </Server>
    <MigratableTarget Cluster="SIMS_TEST_CLUSTER_1"
    Name="ClusterMember2 (migratable)"
    Notes="This is a system generated default migratable target for a server. Do not delete manually." UserPreferredServer="ClusterMember2"/>
    <JDBCConnectionPool DriverName="com.sybase.jdbc2.jdbc.SybDriver"
    Name="MercuryJDBCConnPool"
    PasswordEncrypted="{3DES}Enwr7V6DdUk="
    Properties="user=dbuser;url=jdbc:sybase:Tds:10.15.3.66:4100/ENT_60_DEV;networkProtocol=Tds;portNumber=4100;userName=dbuser;databaseName=ENT_60_DEV;serverName=10.15.3.66"
    Targets="SIMS_TEST_CLUSTER_1" TestTableName="SQL SELECT 1" URL="jdbc:sybase:Tds:10.15.3.66:4100/ENT_60_DEV"/>
    <JDBCDataSource JNDIName="jdbc/MercuryDS" Name="MercuryDS"
    PoolName="MercuryJDBCConnPool" Targets="SIMS_TEST_CLUSTER_1"/>
    <MigratableTarget Cluster="SIMS_TEST_CLUSTER_1"
    Name="AdminServer (migratable)"
    Notes="This is a system generated default migratable target for a server. Do not delete manually." UserPreferredServer="AdminServer"/>
    <Application Name="Mercury"
    Path="/root/bea/user_projects/domains/clusterdomain/applications/Mercury"
    StagingMode="nostage" TwoPhase="true">
    <EJBComponent Name="MercuryEJB.jar" Targets="ClusterMember1" URI="MercuryEJB.jar"/>
    <WebAppComponent Name="Apollo" Targets="ClusterMember1" URI="MercuryWeb.war"/>
    <ConnectorComponent Name="SpectraConnector.rar"
    Targets="ClusterMember1" URI="SpectraConnector.rar"/>
    </Application>
    </Domain>
    ////////////////////////////////////////////////////////////

    Sorry, I don't have the response to your question.
    But I'd like to know how youmake your servlet and your applet communicate.
    I'm building a web site using both applets and servlet. And I nned to make them communicate. I'm trying to use RMI but I get many problems.
    Can I know Which solution you have chosen for applet-servlet communication ?
    Thank's.

  • One EAR , multiple WARs - CLASSPATH problem

    Hi there,
    According to [url http://e-docs.bea.com/wls/docs92/programming/splitcreate.html#wp1102496]WL 9 documentation, any thid-party library of my EAR located at APP-INF/lib can be referenced anywhere.
    Unfortunately that's not happening ... :-(
    This is my EAR scenario:
    APP-INF\lib\log4j.jar
    APP-INF\lib\struts.jar
    APP-INF\lib\many-others.jar
    ejb1.jar
    ejb2.jar
    web1.war (no jars inside)
    web2.war (no jars inside)
    web3.war (no jars inside)
    There is no problem with EJB, but no web application can reach any jar from APP-INF\lib\ .
    If I copy all jars to WEB-INF\lib inside a WAR, everything works fine. That won't be an option because I have 7 web modules and creating an EAR with the same jars 7 times is out of the question.
    So, dear WL9 gurus, anyone could pull this off ? :-)

    You may try to use JSP compiler class. Please specify 'compilerclass'
              option in weblogic.xml. This option specifies name of a Java compiler
              that is executed in WebLogic Servers's virtual machine. (Used in place of
              an executable compiler such as javac or sj.)
              Please see
              http://e-docs.bea.com/wls/docs61/webapp/weblogic_xml.html#jsp-descriptor.
              Paco Garcia wrote:
              > oops!
              >
              > >$WL_HOME/./config/DOMAIN/applications/.wl_notdelete_EARNAME
              > >/wlap#####/ejbjarname.jar
              >
              > >with DOMAIN=DOM1, WL_HOME=W, ejbjar name=EJB1, EARNAME=EAR1
              > >you get:
              > >/w/./config/DOM1/applications/.wl_notdelete_EAR1/wlap#####/EJB1.jar:
              >
              > please read SERVERNAME instead of EARNAME
              >
              > PacoG.
              Regards,
              Ann
              Developer Relations Engineer
              BEA Support
              

  • Classpath Problem in WebSphere 6.0 (WAS 6.0)

    We were trying to configure WAS 6 for the last 10 days to work for an existing application.
    The problem was pointing to some jar files (log4j, j2sh and jdom etc). Although we added it to the class path of the EJB project but still RAD was not picking it up at run time. Following 2 steps helped us solve it
    1. For referring to any jar file that RAD is not picking up, add that jar directly to your EAR project (copy it rt in the EAR Project) and make your EJB and WAR projects point to it though JAVA JAR DEPENDENCIES tab from the project properties. Since this was the first time we were working with RAD, we wasted a lot of time trying to figure this workaround.
    2. If there is any jar file (like jdom) that is already present in the lib directory of your Server, then the CLASSLOADER will refer to that version, not the version that we configure using CLASSPATH of our EJB Project. Thus, replace the older version of all the jar files in the lib directory of server with the latest version that you want it to work with.
    All this might be pretty much obvious to experts but being a novice and having spent a lot of time, I thought that this may help someone out there.

    We were trying to configure WAS 6 for the last 10 days to work for an existing application.
    The problem was pointing to some jar files (log4j, j2sh and jdom etc). Although we added it to the class path of the EJB project but still RAD was not picking it up at run time. Following 2 steps helped us solve it
    1. For referring to any jar file that RAD is not picking up, add that jar directly to your EAR project (copy it rt in the EAR Project) and make your EJB and WAR projects point to it though JAVA JAR DEPENDENCIES tab from the project properties. Since this was the first time we were working with RAD, we wasted a lot of time trying to figure this workaround.
    2. If there is any jar file (like jdom) that is already present in the lib directory of your Server, then the CLASSLOADER will refer to that version, not the version that we configure using CLASSPATH of our EJB Project. Thus, replace the older version of all the jar files in the lib directory of server with the latest version that you want it to work with.
    All this might be pretty much obvious to experts but being a novice and having spent a lot of time, I thought that this may help someone out there.

Maybe you are looking for

  • I am receiveing error while creating Z table: Entry in table TAORA missing

    Hi Experts, I am receiving "Entry in table TAORA missing" while creating Z table. Please help Edited by: N_niki on Jun 11, 2011 9:22 AM

  • T440s Fingerprint Manager Pro Driver no longer working

    Hi all, I just recently updated the Fingerprint Manager Pro Driver to the latest version 8.01.35. Now during the installation, an error pops up saying the "the plugin version does not match with the version of omnipass" however the installation still

  • Retraction between BW (BPS) - R/3 (EA-PS)

    Hi all, I’m trying to do retraction between BW -> R/3 systems. I define field assignments for every BW objects defined as filter and it works fine if ‘FM Area’, ‘Version’ and ‘Fiscal Year’ correspond to the value entered on the selection screen. But

  • How to set password entered by user in the custom self registration app?

    Hi All, I am trying to create a customized self registration page on the portal logon page using Webdynpro JAVA application. Now the problem I am facing is that I am not able to identify how to set the initial password for the user in the portal that

  • Avoid Droplet to open Camera Raw

    Hi, I have a recorded action that I want to run on my folder that contains raw images (.arw). When I run it from File > Automate > Batch everything works like a charm. The problem is when I create a droplet and run it from command line: action.exe C: