WAR Can't find class in JAR file in EAR/lib

Hi,
I have 1 EAR file with 1 WAR and 1 EJB-JAR file. Our main business-code is in a JAR-file which is placed in the EAR/lib/ folder along with the rest of the shared JAR-files.
When i deploy the EAR the EJB gets deployed fine but when the WAR gets deployed, we get a ClassNotFoundException. We configured a class as a ServletContextListener (Which is part of the jar) in the web.xml so at startup it should perform some initiation. But since it can;t be found....
I've tried changing the Mainfest.mf to include a CLASSPATH attribute with ./lib/x.jar but it stil the same problem. The only thing that solves it is to put it in the WEB-INF/lib folder.
What am i doing wrong?
Thanks,
Maarten

Here it is
<?xml version="1.0"?>
<!DOCTYPE application PUBLIC '-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN' 'http://java.sun.com/dtd/application_1_3.dtd'>
<application>
     <display-name>spg-online</display-name>
     <module>
          <web>
               <web-uri>appname.war</web-uri>
               <context-root>appname</context-root>
          </web>
     </module>
     <!--module>
          <ejb>appname-ejb.jar</ejb>
     </module-->     
</application>
My app follows the basic structure of an EAR-file:
EAR
META-INF
application.xml
lib
appname.jar
a.jar
spring.jar
appname.war
appname-ejb.jar
The meta-inf of the war-file looks like this:
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.6.5
Created-By: 1.4.2_08-b03 (Sun Microsystems Inc.)
Class-path: ./lib/appname.jar ./spring.jar
I let ANT generate the Class-path:
<jar jarfile="${dist.home}/${component.name}.war">
<fileset dir="${build.home.webroot}" />
<!-- dependency -->
<manifest>
<attribute name="Class-Path" value="${lib.project.manifest.classpath}"/>
</manifest>
</jar>

Similar Messages

  • Version 9.0.2 Oracle9iAS Containers for J2EE (OC4J) can not find the orion.jar file

    Oracle9iAS Containers for J2EE (OC4J)
    Version 9.0.2
    Oracle9iAS Containers for J2EE (OC4J) (19,789,999 bytes)
    when i unzip the oc4j_extend.zip, i can not find the orion.jar under j2ee/home diretory, how can start it?

    You're absolutely right. For some reason orion.jar isn't in that distribution. However there should be an oc4j.jar file in there, which behaves exactly as the orion.jar file would. So, any place in the documentation where it refers to orion.jar, just substitute oc4j.jar.
    Ryan

  • Problem finding class in jar file

    I have an applet that will run when I have all the classes sitting in the same directory. ex) http://IPaddress/directory. But I try to put them all into a jar file and run the code and it says cant find the class. Below is my html code. Please help!
    <HTML>
    <HEAD>
    </HEAD>
    <BODY>
    <APPLET
    CODEBASE="http://IPaddress/directory1/directory2"
    CODE="Applet.class"
    ARCHIVE="1stJar.jar,2ndJar.jar,3rdJar.jar,Applet.jar"
    WIDTH=600 HEIGHT=600>
    </APPLET>
    </BODY>
    </HTML>

    Where are your jar files contained? They need to be in the same directory as your CODEBASE, or otherwise include a relative directory.
    Also, what browser are you using?
    From the Java web page on APPLET tags
    "Unfortunately, not all browsers understand the same archive format or use the same HTML code to specify the applet archive"

  • Can i use classes in jar files?

    im planning to create a program that uses the saxon.jar so that i don't have to type in the command line to be able to use it. is this possible?

    from reply #5, this is the statement with which i
    took exception.
    import saxon.jar.*;
    I knew what your post was about, my post was unrelated to yours, and directed at the OP. (that's why I didn't quote you).
    Your post is 100% correct, I only wanted to tell the OP (and other readers) that there is no difference between importing classes from jars and filesystems.
    /Kaj

  • Can I increase heap memory without specify any class or jar file??

    Hi,
    I tried to increase my heap memory in this way :
    java -Xms256m -Xmx256m
    but I got an error ... it's seem that I must specify a class java or a .jar file ...
    This is the error :
    Usage: java [-options] class [args...]
    (to execute a class)
    or java [-options] -jar jarfile [args...]
    (to execute a jar file)
    where options include:
    -client to select the "client" VM
    -server to select the "server" VM
    -hotspot is a synonym for the "client" VM [deprecated]
    The default VM is client.
    -cp <class search path of directories and zip/jar files>
    -classpath <class search path of directories and zip/jar files>
    A ; separated list of directories, JAR archives,
    and ZIP archives to search for class files.
    -D<name>=<value>
    set a system property
    -verbose[:class|gc|jni]
    enable verbose output
    -version print product version and exit
    -version:<value>
    require the specified version to run
    -showversion print product version and continue
    -jre-restrict-search | -jre-no-restrict-search
    include/exclude user private JREs in the version search
    -? -help print this help message
    -X print help on non-standard options
    -ea[:<packagename>...|:<classname>]
    -enableassertions[:<packagename>...|:<classname>]
    enable assertions
    -da[:<packagename>...|:<classname>]
    -disableassertions[:<packagename>...|:<classname>]
    disable assertions
    -esa | -enablesystemassertions
    enable system assertions
    -dsa | -disablesystemassertions
    disable system assertions
    -agentlib:<libname>[=<options>]
    load native agent library <libname>, e.g. -agentlib:hprof
    see also, -agentlib:jdwp=help and -agentlib:hprof=help
    -agentpath:<pathname>[=<options>]
    load native agent library by full pathname
    -javaagent:<jarpath>[=<options>]
    load Java programming language agent, see java.lang.instrument
    -splash:<imagepath>
    show splash screen with specified image
    can I increase heap memory without specify any class or jar file??
    thx

    chiara wrote:
    Hi,
    I tried to increase my heap memory in this way :
    java -Xms256m -Xmx256m
    but I got an error ... it's seem that I must specify a class java or a .jar file ...
    This is the error :
    Usage: java [-options] class [args...]
    (to execute a class)
    or java [-options] -jar jarfile [args...]
    (to execute a jar file)
    can I increase heap memory without specify any class or jar file??The job of java.exe is to execute java bytecode.
    What is it supposed to do with your request to use 256m of memory for heap
    when you are not giving it a class or a jar to run?

  • Where can i find class files in server

    Hi Gurus,where can i find class files in server.
    Kranthi

    Hi,
    Class files:
    Common\JAVA_TOP
    Pages:
    Appl\mds
    Regards
    Meher Irk

  • Can't find class org/apache/jk/apr/AprImpl

    Hi
    I have Tomcat 4.1.29 and Apache Web Server 2.0.48 installed.
    I have used this tutorial since I'm a newbie :(
    http://www.gregoire.org/howto/Apache2_Jk2_TC4.1.x_JSDK1.4.x.html
    My problem is when I try to regroup them, I obtained this error error.log.
    error] Can't find class org/apache/jk/apr/AprImpl
    java.lang.NoClassDefFoundError: javax/management/MBeanRegistration
         at java.lang.ClassLoader.defineClass0(Native Method)
         at java.lang.ClassLoader.defineClass(Unknown Source)
         at java.security.SecureClassLoader.defineClass(Unknown Source)
         at java.net.URLClassLoader.defineClass(Unknown Source)
         at java.net.URLClassLoader.access$100(Unknown Source)
         at java.net.URLClassLoader$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.net.URLClassLoader.findClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClassInternal(Unknown Source)
         at java.lang.ClassLoader.defineClass0(Native Method)
         at java.lang.ClassLoader.defineClass(Unknown Source)
         at java.security.SecureClassLoader.defineClass(Unknown Source)
         at java.net.URLClassLoader.defineClass(Unknown Source)
         at java.net.URLClassLoader.access$100(Unknown Source)
         at java.net.URLClassLoader$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.net.URLClassLoader.findClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    Here is my confid file (workers.properties) :
    [logger]
    level=DEBUG
    [config:]
    #file=C:/Apache2/conf/workers2.properties
    file=C:/Apache2/conf/workers2.properties
    debug=0
    debugEnv=0
    [uriMap:]
    info=Maps the requests. Options: debug
    debug=0
    # Alternate file logger
    #[logger.file:0]
    #level=DEBUG
    #file=C:/Apache2/logs/jk2.log
    [shm:]
    info=Scoreboard. Required for reconfiguration and status with multiprocess servers
    file=C:/Apache2/logs/jk2.shm
    size=1000000
    debug=0
    disabled=0
    [workerEnv:]
    info=Global server options
    timing=1
    debug=0
    # Default Native Logger (apache2 or win32 )
    # can be overriden to a file logger, useful
    # when tracing win32 related issues
    #logger=logger.file:0
    [lb:lb]
    info=Default load balancer.
    debug=0
    #[lb:lb_1]
    #info=A second load balancer.
    #debug=0
    [channel.socket:localhost:8009]
    info=Ajp13 forwarding over socket
    debug=0
    tomcatId=localhost:8009
    #[channel.socket:localhost:8019]
    #info=A second tomcat instance.
    #debug=0
    #tomcatId=localhost:8019
    #lb_factor=1
    #group=lb
    #group=lb_1
    #disabled=0
    #[channel.un:/opt/33/work/jk2.socket]
    #info=A second channel connecting to localhost:8019 via unix socket
    #tomcatId=localhost:8019
    #lb_factor=1
    #debug=0
    [channel.jni:jni]
    info=The jni channel, used if tomcat is started inprocess
    [status:]
    info=Status worker, displays runtime informations
    [vm:]
    info=Parameters used to load a JVM in the server process
    #JVM=C:\jdk\jre\bin\hotspot\jvm.dll
    OPT=-Djava.class.path=c:/Tomcat/bin/tomcat-jni.jar;c:/Tomcat/server/lib/commons-logging.jar
    OPT=-Dtomcat.home=${TOMCAT_HOME}
    OPT=-Dcatalina.home=${TOMCAT_HOME}
    OPT=-Xmx128M
    #OPT=-Djava.compiler=NONE
    disabled=0
    [worker.jni:onStartup]
    info=Command to be executed by the VM on startup. This one will start tomcat.
    class=org/apache/jk/apr/TomcatStarter
    ARG=start
    disabled=0
    stdout=C:/Apache2/logs/stdout.log
    stderr=C:/Apache2/logs/stderr.log
    [worker.jni:onShutdown]
    info=Command to be executed by the VM on shutdown. This one will stop tomcat.
    class=org/apache/jk/apr/TomcatStarter
    ARG=stop
    disabled=0
    [uri:/jkstatus/*]
    info=Display status information and checks the config file for changes.
    group=status:
    #[uri:127.0.0.1:8003]
    #info=Example virtual host. Make sure myVirtualHost is in /etc/hosts to test it
    #alias=myVirtualHost:8003
    #[uri:127.0.0.1:8003/ex]
    #info=Example webapp in the virtual host. It'll go to lb_1 ( i.e. localhost:8019 )
    #context=/ex
    #group=lb_1
    [uri:/examples]
    info=Example webapp in the default context.
    context=/examples
    debug=0
    #[uri:/examples1/*]
    #info=A second webapp, this time going to the second tomcat only.
    #group=lb_1
    #debug=0
    [uri:/examples/servlets/*]
    info=Prefix mapping
    [uri:/examples/*.jsp]
    info=Extension mapping
    [uri:/examples/*]
    info=Map the whole webapp
    [uri:/examples/servlets/HelloW]
    info=Exampel with debug enabled.
    debug=10
    Thank you for your time !
    Max

    Btw: I get the warning starting IIS - It seems to me that IIS tries to load Tomcat on-the-fly. The Tomcat load the fails and IIS continues to load successfully.
    The beginning of the IIS Event log outputs this:
    Apache Jakarta Connector2, Information, Info: [jk_vm_default.c (340)]: vm.detach() ok
    Apache Jakarta Connector2, Warning, Error: [jk_worker_jni.c (308)]: Can't find class org/apache/jk/apr/AprImpl
    Apache Jakarta Connector2, Information, Info: [jk_worker_jni.c (297)]: Loaded org/apache/jk/apr/TomcatStarter
    Apache Jakarta Connector2, None, Debug: [jk_vm_default.c (302)]: vm.attach() allready attached
    Apache Jakarta Connector2, Information, Info: [jk_worker_jni.c (252)]: jni.validate() class= org/apache/jk/apr/TomcatStarter
    Apache Jakarta Connector2, Information, Info: [jk_vm_default.c (607)]: vm.open2() done
    Apache Jakarta Connector2, Information, Info: [jk_vm_default.c (500)]: vm.init(): Jni lib: C:\wwwapps\j2sdk1.4.2_01\jre\bin\client\jvm.dll
    /watson

  • Where to put common classes and jar files

    hi,
    i want to put some classes and jar files in a common folder so that it can be accessed by other applications is there any way doing that.In tomcat server they have common and shared directories once any classes are into that folder they are being accessed easily ,but i am having problems with sun one .
    Regards
    Ameem Sami

    Did you find a solution for this? I'm having the same problem.
    Thanks,
    Tony

  • How can I get a single jar file with NetBeans?

    How can I get a single jar file with NetBeans?
    When I create the project I get these files:
    dist/lib/libreria1.jar
    dist/lib/libreria2.jar
    dist/software.jar
    The libraries that have been imported to create the project are in separate folders:
    libreria1/libreria1.jar
    libreria2/libreria2.jar
    libreria1, libreria2, dist folders are all located inside the project folder.
    I added the following code to the build.xml:
    <target name="-post-jar">
    <jar jarfile="dist/software.jar">
    <zipfileset src="${dist.jar}" excludes="META-INF/*" />
    <zipfileset src="dist/lib/libreria1.jar" excludes="META-INF/*" />
    <zipfileset src="dist/lib/libreria2.jar" excludes="META-INF/*" />
    <manifest>
    <attribute name="Main-Class" value="pacco.classeprincipale"/>
    </manifest>
    </jar>
    </target>
    Of course there is also the project folder:
    src/pacco/classeprincipale.form
    src/pacco/classeprincipale.java
    Can you tell me what is wrong? The error message I get is as follows:
    C:...\build.xml:75: Problem creating jar: archive is not a ZIP archive BUILD FAILED (total time: 2 seconds)

    This is not a NetBeans forum, it is a JDeveloper forum. You might want to try http://forums.netbeans.org/. I also saw your other question - try looking in the New to Java forum: New To Java

  • Where can I find the latest cab file?

    Where can I find the latest cab file? for example:
    CODEBASE=http://java.sun.com/update/1.5.0/jinstall-1_5_0_05-windows-i586.cab
    CLASSID=clsid:5852F5ED-8BF4-11D4-A245-0080C6F74284 It is not available on this page: http://java.com/en/download/manual.jsp
    I am deploying using web start. So I need it.
    thanks,
    Anil

    Download Java EE SDK, install it and finally in the lib directory you'll find the javaee.jar. It contains the whole javax package you need.

  • Where can I find the deployed EJB files in Oracle 10g AS(904)

    Hello All,
    Where can I find the deployed ejb files, stubs and skels in the Oracle 10g (904)
    When I try to run my ejb application I m getting following exception:
    com.evermind.server.rmi.OrionRemoteException: Error (de-)serializing object: org.apache.log4j.Logger
    I am not sure what is causing this error. I am not using any logging in my EJB. But the logging framework is configured in the application server.
    Your input would be a great help to me
    Thank you

    Thanks Carty,
    I am not creating Connection from EJB. I have a POJO called DBManager that looks for the DB Connection and return that to either EJB or other POJO that requests for Connection.
    I am having a private method that get the connection from the DBManager because while writing UnitTest cases I can mockup getting Connection as my Unit test case will be a POJO again..
    I have a question here regarding making DBManager as Singleton class. In my current project, I have configured my database in the application server as getting the connection by lookup for datasource through JNDI. It internally maintains all logical connection and always have one physical connection. In such scenario how implementing singleton will be beneficial?
    Thank you for answering all my questions.

  • How many Ways jar files from ear file on a jboss can be downloaded on clien

    Aoa
    How many Ways jar files from ear file on a jboss can be downloaded on client side
    like jnlp etc..
    Regards
    M Fazal Ur Rehman

    First, you need to be able to boot from the Recovery HD:
    Boot Using Command+R keys:
      1. Restart the computer.
      2. Immediately after the chime press and hold down the
          "COMMAND" and the "R" keys together.
      3. Release the keys when the Utilities Menu appears.
    Once at the Utilities Menu select Terminal from the Utilities menu in the screen's menubar. Now, you need to know where these new files are located. You move to any location using the 'cd' command such as cd /Users/user_name/Documents, then press RETURN. Replace user_name with your actual username. Next you need to do a directory listing to see if your files are in that location, Documents. Use ls -al to do a directory listing of the files and folders in Documents. If you find your new files there, then connect an external drive or flash drive. You will need to know the name you have assigned to this drive. It needs to be already formatted. Copy your files using cp /Documents/filename /Volumes/volname/filename. Replace volname and filename with those that apply. Press RETURN.
    Or take it to your local Apple Store and see if they can do the chore for you.

  • Ojvmtc reports xy.jar is not a class or jar file

    Hi
    I am a little bit confuced because ojvmtc reports an error I can not imagine about:
    oracle@cikic-desktop:~/Downloads/dom4j-1.6.1$ ojvmtc /u01/app/oracle/product/11.1.0/mds/jdk/jre/lib/jce.jar
    /u01/app/oracle/product/11.1.0/mds/jdk/jre/lib/jce.jar is not a class or jar file
    The set is closed
    But jce.jar is a jar file and I can inflate it:
    oracle@cikic-desktop:/tmp/fo$ jar -xf /u01/app/oracle/product/11.1.0/mds/jdk/jre/lib/jce.jar
    oracle@cikic-desktop:/tmp/fo$ ls -l
    total 8
    drwxr-xr-x 3 oracle oinstall 4096 2010-05-03 19:40 javax
    drwxr-xr-x 2 oracle oinstall 4096 2010-05-03 19:40 META-INF
    And if I do a ojvm on a class file everything is working like expected:
    oracle@cikic-desktop:/tmp/fo$ ojvmtc javax/crypto/Mac.class
    The set is not closed
    96 classes are missing
    So It must be a configuration mistake somewhere ...
    Can you please help me out.
    Thanks
    Christian Maier

    Coole thanks, this works pretty well!
    Chris
    oracle@cikic-desktop:~$ cp /u01/app/oracle/product/11.1.0/mds/jdk/jre/lib/jce.jar /tmp/
    oracle@cikic-desktop:~$ ojvmtc /tmp/jce.jar
    The set is not closed
    131 classes are missing

  • ERROR: Can't find class Startadmin

    Hello,
    why do I get this error message:
    Can't find class Startadmin
    I want to start my class Startadmin.java with "java Startadmin"!
    The file is in the current path, so I tried "java -classpath .: Startadmin" too, but I sill get this error!
    What can I do?

    Can you please post the solution, I'm having similar problem.
    I set the classpath before compiling the program
    export CLASSPATH=/usr/java/lib/classes.zip:/oracle/product/8.1.6/demo/lib/classes111.zip
    When I try to run the program at the command prompt
    $ java JdbcTest
    I am getting error message "Can't find class JdbcTest"
    When tried
    $ java -classpath . JdbcTest
    I was getting different error message
    java.lang.NoClassDefFoundError: oracle/jdbc/driver/OracleDriver at JdbcTest.main(Compiled Code)
    Any help is appreiated
    Thanks
    SJ

  • Where to find newest interMedia jar file?

    I'm trying to implement the sample photo database servlet using Oracle's interMedia. In it, they use the method getFactory(), which has been deprecated. In place, they say to now use the method getORADataFactory(). However, I cannot seem to find the newest jar file which has this new method. Where can I find it and what is it's name? I've looked in the installation of Oracle 9i, but it still includes the old ordim.jar and ordim11.jar files.
    Thanks in advance.

    Ignore the deprecated error messsage. This is the supported way to interface with interMedia java in 9i

Maybe you are looking for