Dynamic Update of .war files or .ear files

Hello,
I don't see this ability in the current servlet spec. I was wondering if someone has come up with a way to implement the following idea.
I'd like to dynamically update, add, and remove files from a .war file that is running in X servlet engine/application server. An example is adding new HTML files on the fly, or new Style Sheets. The files that I'm trying to add are not class files or any executable files.
If you have any thoughts on how to do this or have done this, please let me know.
Thanks for you help,
d.bretenfeld

It depends on what webserver you're using, and how you configure it.
With Tomcat 4.0, each .war file on startup is extracted to it's own directory and from there any modifications have to be done with the actual files. the .war file is no longer used except as a backup.
Now, with something like JBoss + Tomcat, the .war file is hot deployed anytime a new .war file is copied into the deploy folder. Personally I love this feature, as it forces you to actually "deploy" an application with updates all at once. And actually, you can get around this and modify individual files, but I wouldn't recomend it.
So, as is the answer with so much of Java and J2EE, it all depends on your setup and configuration! =)
I'd be happy to help you out more if you need anything else!

Similar Messages

  • How do I convert an war file to ear file, deploying weblogic apps

    Problem Description: I have a war file from a legacy application that needs to be migrated to weblogic. To migrate this application to weblogic, we need a ear file. Reading weblogic doc. it says we needs to use ant utility on an exploded web content application folder/ directory to create the ear file. I need to covert the existing war file to ear file , if it is doable or create one from the scratch. I need to know how to do that in weblogic. Please let me know if you have any hints .
    Thanks

    HI,
    Please try the following to convert your WAR file into an EAR exploded archieve:
    *1).* Create a Directory in your file system.
    Example:
    /home/apps/MyFirstEAR
    *2).* Place the WAR file inside the above Directory. (Suppose your WAR file name is test.war)
    Example:
    /home/apps/MyFirstEAR/test.war
    *3).* Now create a "META-INF" directory inside "/home/apps/MyFirstEAR" directory
    *4).* Now create an "application.xml" file like following inside "/home/apps/MyFirstEAR/META-INF" directory:
    <?xml version="1.0" encoding="UTF-8"?>
    <application xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.4">
    <description>Test EAR Example</description>
    <display-name>TestEAR Example</display-name>
    <module>
    <web>
    <web-uri>test.war</web-uri>
    <context-root>test</context-root>
    </web>
    </module>
    </application>
    *5).* Your EAR is ready now you can deploy the "MyFirstEAR" directory in the WebLogic Server.
    NOTE: if you want to place the "test.war" file also as an exploaded format content inside the EAR then you need to extract the test.war file and then in place of the test.war you can have "test" directory at the same place.
    You need to change the "application.xml" file like below in that case:
    <?xml version="1.0" encoding="UTF-8"?>
    <application xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.4">
    <description>Test EAR Example</description>
    <display-name>TestEAR Example</display-name>
    <module>
    <web>
    <font color=red> <web-uri>test</web-uri> </font><br>
    <context-root>test</context-root>
    </web>
    </module>
    </application>
    For more information on an EAR application structure you can refer to : http://middlewaremagic.com/weblogic/?p=1952
    Thanks
    Jay SenSharma
    http://middlewaremagic.com/weblogic (Middleware Magic Is Here)

  • Difference between .war file and .ear file

    Hi,
    what is the difference between .war file and .ear file ?
    Please let me know with appropriate explanation.

    War file means web application archive. It is archived file having a collection of JSP, servlets and static pages that together costitute a web application. It contains one WEB-INF directory which will have a file named web.xml which defines the structure of the web application.
    On the other side EAR file is Enterprise application archive. It is file having packaged content of one or more modules into a single archive so that the deployment of all the modules can be done simultaneously on the application server. It also contains XML files called deployment descriptors which gives the details of the deployment method. This deployment descriptor will be present in the folder META-INF folder.
    So the main difference betwwen the two is that Ear file is having collection of various modules to be deployed on the application server while the WAR file is used to deploy the web applications.

  • How to include external .js file into .ear file using NetBean 5.5.1?

    is it possible to include external .js file into .ear file using NetBean 5.5.1? if not, then where should I placed the external .js file and how to write the src="xxx" element? (that is , how to write the path of "xxx"?)
    I am using JBOSS 4.2.2 GA as server
    thx!!

    Even this is also not possible because, the code in that package is developed by DWR and i am just adding it to my lib folder and importing the respective classes. In the same manner i need to include the *.js* file in the JSP.It took me about 3 minutes reading through the [DWR Getting Started|http://getahead.org/dwr/getstarted] page to learn that you don't have to do any of that. Perhaps you should read that page?

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

  • Porting *.war files and *.ear files to Weblogic 10.3

    If we can figure this issue out, I'll see if I can't publish/post a
    maven-based solution in the Maven and Oracle forums so that others
    will not have to go through our pain.
    We are having all the usual problems regarding where Weblogic expects
    to find things and what exclusions need to be made in weblogic.xml for
    war files and weblogic-application.xml for ear files. Any insights
    would be deeply appreciated.
    Here is what our exploded war structure currently looks like.
    |____index.jsp
    |____WEB-INF
    | |____lib
    | | |____...a long list of jar files
    | |____tags
    | | |____...a short list of tag files
    | |____applicationContext.xml
    | |____web.xml
    | |____content
    | | |____...a bunch of jsps
    | |____tlds
    | | |____...some tlds
    | |____classes
    | | |____mailProperties.properties
    | | |____struts.xml
    | | |____logback.xml
    | | |____com ... the root of our class heiarchy
    |____images
    | |____...a list of images
    |____META-INF
    | |____maven
    | | |____com
    | | | |____project-name
    | | | | |____pom.xml
    | | | | |____pom.properties
    | |____MANIFEST.MF
    |____script
    | |____...some java script files
    |____style
    | |____...some css files
    Exceptions when trying to deploy are as follows:
    INFO: ... initialized Struts-Spring integration successfully
    java.lang.Exception: Could not load
    servers/AdminServer/tmp//appmergegen_1254502686535_OurApp/war/WEB-INF/classes/com...
    at com.opensymphony.xwork2.util.finder.ClassFinder.readClassDef(ClassFinder.java:745)
    at com.opensymphony.xwork2.util.finder.ClassFinder.<init>(ClassFinder.java:148)
    The exception above repeats for every .class file found below
    WEB-INF/classes/com, i.e. the the ones in this module rather than the
    ones in included modules.
    Checking the file system shows that there is no such directory as
    "appmergegen_1254502686535_conap". I'm uncertain if there is actually
    supposed to be anything there, but it would seem like it.
    I've a theory that if we can solve the above issue, we can solve the
    rest ourselves.
    It would also be handy to know what packages may cause conflicts.

    Alright, my research points to the idea that this might have something to do with staging. Since this is a dev setup we don't have any managed servers or anything. All we have is AdminServer and that is it. We have only one domain and it is "base_domain". Does anyone know if this is wrong?

  • Error 160078 when deploying WAR file after EAR file

    I am tetsing an application which does automatic deployment to WebLogic 8.1 running on Windows XP using ejbgen tool through Ant.
    The following deployment sequence produces an error. I deploy an EAR file with EJB JAR and WAR file inside. It deploys correctly. I then undeploy the EAR file. This also works. Next I deploy a WAR file using the same deployment name as for the EAR file (the 'name' parameter of weblogic.Deployer command). This deployment fails. If I restart WebLogic server, the same deployment of the WAR file succeeds.
    Any idea what goes wrong?
    Thank you.
    Michael
    Here is the command used for deployment (as reported by Ant):
    [java] 'weblogic.Deployer'
    [java] '-debug'
    [java] '-verbose'
    [java] '-noexit'
    [java] '-remote'
    [java] '-upload'
    [java] '-name'
    [java] 'discoverytestproject'
    [java] '-source'
    [java] 'C:/Projects/Jetson/Toolbox/Tests/Projects/DiscoveryTestProject/build/staging/discoverytestproject-ws.war'
    [java] '-targets'
    [java] 'myserver'
    [java] '-adminurl'
    [java] 't3://10.10.0.123:7001'
    [java] '-user'
    [java] 'system'
    [java] '-password'
    [java] 'password'
    [java] '-deploy'
    This is the error message:
    <Oct 13, 2006 3:04:21 PM EDT> <Warning> <J2EE> <BEA-160018> <ComponentMBean: Nam
    e = discoverytestproject-ws, Type = WebAppComponentConfig - Targeted on this ser
    ver but, no corresponding module found in application descriptor. The component
    mbean is being Ignored.>
    <Oct 13, 2006 3:04:21 PM EDT> <Error> <J2EE> <BEA-160078> <None of the modules o
    f application 'discoverytestproject' in 'META-INF/application.xml' are configure
    d in the 'Application' entry in 'config.xml' to be targetted to 'myserver'.>
    <Oct 13, 2006 3:04:21 PM EDT> <Warning> <Deployer> <BEA-149004> <Failures were d
    etected while initiating Deploy task for application discoverytestproject.>
    <Oct 13, 2006 3:04:21 PM EDT> <Error> <Deployer> <BEA-149201> <Failed to complet
    e the deployment task with ID 6 for the application discoverytestproject.
    weblogic.management.ApplicationException:
    Exception:weblogic.management.ApplicationException: [J2EE:160078]None of the mod
    ules of application 'discoverytestproject' in 'META-INF/application.xml' are con
    figured in the 'Application' entry in 'config.xml' to be targetted to 'myserver'
    at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.createCon
    tainer(SlaveDeployer.java:2556)
    at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(S
    laveDeployer.java:2474)
    at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(Sla
    veDeployer.java:798)
    at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDepl
    oyer.java:507)
    at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDep
    loyer.java:465)
    at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHan
    dler.java:25)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    --------------- nested within: ------------------
    weblogic.management.ManagementException: - with nested exception:
    [weblogic.management.ApplicationException:
    Exception:weblogic.management.ApplicationException: [J2EE:160078]None of the mod
    ules of application 'discoverytestproject' in 'META-INF/application.xml' are con
    figured in the 'Application' entry in 'config.xml' to be targetted to 'myserver'
    at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(S
    laveDeployer.java:2491)
    at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(Sla
    veDeployer.java:798)
    at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDepl
    oyer.java:507)
    at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDep
    loyer.java:465)
    at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHan
    dler.java:25)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    >

    I am tetsing an application which does automatic deployment to WebLogic 8.1 running on Windows XP using ejbgen tool through Ant.
    The following deployment sequence produces an error. I deploy an EAR file with EJB JAR and WAR file inside. It deploys correctly. I then undeploy the EAR file. This also works. Next I deploy a WAR file using the same deployment name as for the EAR file (the 'name' parameter of weblogic.Deployer command). This deployment fails. If I restart WebLogic server, the same deployment of the WAR file succeeds.
    Any idea what goes wrong?
    Thank you.
    Michael
    Here is the command used for deployment (as reported by Ant):
    [java] 'weblogic.Deployer'
    [java] '-debug'
    [java] '-verbose'
    [java] '-noexit'
    [java] '-remote'
    [java] '-upload'
    [java] '-name'
    [java] 'discoverytestproject'
    [java] '-source'
    [java] 'C:/Projects/Jetson/Toolbox/Tests/Projects/DiscoveryTestProject/build/staging/discoverytestproject-ws.war'
    [java] '-targets'
    [java] 'myserver'
    [java] '-adminurl'
    [java] 't3://10.10.0.123:7001'
    [java] '-user'
    [java] 'system'
    [java] '-password'
    [java] 'password'
    [java] '-deploy'
    This is the error message:
    <Oct 13, 2006 3:04:21 PM EDT> <Warning> <J2EE> <BEA-160018> <ComponentMBean: Nam
    e = discoverytestproject-ws, Type = WebAppComponentConfig - Targeted on this ser
    ver but, no corresponding module found in application descriptor. The component
    mbean is being Ignored.>
    <Oct 13, 2006 3:04:21 PM EDT> <Error> <J2EE> <BEA-160078> <None of the modules o
    f application 'discoverytestproject' in 'META-INF/application.xml' are configure
    d in the 'Application' entry in 'config.xml' to be targetted to 'myserver'.>
    <Oct 13, 2006 3:04:21 PM EDT> <Warning> <Deployer> <BEA-149004> <Failures were d
    etected while initiating Deploy task for application discoverytestproject.>
    <Oct 13, 2006 3:04:21 PM EDT> <Error> <Deployer> <BEA-149201> <Failed to complet
    e the deployment task with ID 6 for the application discoverytestproject.
    weblogic.management.ApplicationException:
    Exception:weblogic.management.ApplicationException: [J2EE:160078]None of the mod
    ules of application 'discoverytestproject' in 'META-INF/application.xml' are con
    figured in the 'Application' entry in 'config.xml' to be targetted to 'myserver'
    at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.createCon
    tainer(SlaveDeployer.java:2556)
    at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(S
    laveDeployer.java:2474)
    at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(Sla
    veDeployer.java:798)
    at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDepl
    oyer.java:507)
    at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDep
    loyer.java:465)
    at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHan
    dler.java:25)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    --------------- nested within: ------------------
    weblogic.management.ManagementException: - with nested exception:
    [weblogic.management.ApplicationException:
    Exception:weblogic.management.ApplicationException: [J2EE:160078]None of the mod
    ules of application 'discoverytestproject' in 'META-INF/application.xml' are con
    figured in the 'Application' entry in 'config.xml' to be targetted to 'myserver'
    at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(S
    laveDeployer.java:2491)
    at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(Sla
    veDeployer.java:798)
    at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDepl
    oyer.java:507)
    at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDep
    loyer.java:465)
    at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHan
    dler.java:25)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    >

  • 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

  • Updating Specific Jar in an EAR file

    Hi All,
    Is it possible to update only some jar files in an EAR file.
    This is what I wanted to do. My EAR structure is something like this-
    A.ear
    + B.jar
    + APP-INF/lib/C.jar
    I want to update the B.jar and C.jar with a few class files that I have. Will it be possible to; inside ear and update the specific jar.
    I know if it is a single jar - then that jar -u does the trick.
    Thanks much in advance,
    - Anand<pre></pre>

    Hi,
    I haven't tried what you're asking specifically, but an EAR is, I believe, a .ZIP file with a specific directory structure. So, I'm thinking that you should be able to either:
    1) Unzip the EAR, copy the new JAR (overwriting the old JAR), then re-zip to build the new EAR, or
    2) Just use a ZIP tool to do an update of the JAR(s) to replaced.
    Jim

  • How to access a jar file in EAR file?

    I have a EAR file which contains EJB.jar file and util.jar file. Outside of EAR, I mean in client side, I need to reference util.jar file. How can I access it?
    EAR structure is
    |--+META-INF/
    |--|---application.xml
    |--|---manifest.mf
    |--EJB.jar
    |--|---+MEAT-INF/
    |--|---|--- deployment descriptors...
    |--|---|--- manifest.mf
    |--|--- EJB classes
    |--Util.jar
    Util.jar must be executed in server side. If I just add Util.jar in client program's classpath, when client program is executed, serverside Util.jar is executed? Or what else I should do in the client program to reference server-side Util.jar?

    Excellent question. I don't see any client-jar in your EAR file structure. So I am assuming you are writing a separate client application which will talk to the ejbs deployed as part of this EAR. You need to do the following:
    Write another EAR file with the following structure:
    ear:
    META-INF/application.xml
    util.jar
    client.jar
    client.jar should have a META-INF/MANIFEST.MF and that should contain Class-Path:util.jar and value for Main-Class attribute.
    Now deploy this new ear to your application server and execute it using Application Client Container that comes with your app server.
    If you don't want to write another EAR file, then bundle th client.jar in your original EAR file.
    Points to note are:
    you have to repackage util.jar again inside this ear file.
    For portability reason, you should use Class-Path manifest entry in client.jar. Refer to http://java.sun.com/j2ee/verified/packaging.html and J2EE platform spec section #8.2.
    Hope this helps,
    Sahoo

  • How to create a PAR file from EAR file

    Hi,
       I have created an Web Dynpro Application . When i deploy it in Remote J2EE Engine, it will deploy as EAR file. It then runs as normal Web Application in Web browser. My requirement is to create an iView for my Web dynpro appn in EP. That is possible only by creating a PAR file. so How to create an PAR file from EAR in NWDS(NetWeaver Developer Studio).
    How to access the EAR file in NWDS or J2EE ?
    Thanks in Advance ,
    By
    Saravanan

    Hi,
    To create a iview,
    log on to portal, New iView and select SAP webdynpro iview.
    It will ask for namespace which is usually , local/Project Name
    and application name is the name of the application.
    We dont have to create par file for this requirement

  • Coverting a jar file to ear file

    How do i convert a .rar file to a .ear file.
    and can anyone please enlist the details of the rar and ear file and their contents.
    thank you.

    Is somebody working on this???
    i need help at the earliest....

  • Packaging - putting support files within ear file

    We have a J2EE application that leverages some xml control files. We would like to package the application with these support files all within the ear file. Currently, these files get moved seperate from the ear, which causes files to be missed sometimes during deployment. Our questions are as follows:
    1) Can these files be placed in the ear file?
    2) How do we reference them? Currently the application works by specifying the path to these files in the web.xml, what is the path we should use so that our application can find the files?

    "Brandon Witte" <[email protected]> skrev i en meddelelse
    news:[email protected]..
    We have a J2EE application that leverages some xml control files. Wewould like to package the application with these support files all within
    the ear file. Currently, these files get moved seperate from the ear, which
    causes files to be missed sometimes during deployment. Our questions are as
    follows:
    >
    1) Can these files be placed in the ear file?
    2) How do we reference them? Currently the application works byspecifying the path to these files in the web.xml, what is the path we
    should use so that our application can find the files?
    The simplest solution would be to put them in the WEB-INF/classes or
    APP-INF/classes directories and load them through the classloader.

  • Can u plz tell me what are PAR files and EAR files

    i can't understand what r these plz tell me

    Hi Aravind,
    Look here: /thread/172969 [original link is broken]
    hope this helps you,

  • Deploying junitee outside of the application ear file

    I have an application that is deployed within an ear file, and I have junitee tests
    within a war file, called test.war. I would like to not have to place the test.war
    within the ear file because the ear may be release code but I still want to test
    it using the junitee tests. Instead I would like to optionally add the test.war
    to the application context and not the ear file. How would I go about doing that?
    I tried to deploy the test.war from the weblogic console, and hand editing the
    config.xml, and adding the test.war as a module to the application.xml (within
    the ear file).
    In all cases when I try to then use classes within the ear file I get ClassNotFoundExceptions.
    Probably because Weblogic is not including the test.war as part of the same application.
    Thank in advance for any help.
    -Fazle

    I'd probably have 2 build targets, debug and production. Your debug
    target could include the unit test war file.
    -- Rob
    Fazle Khan wrote:
    I have an application that is deployed within an ear file, and I have junitee tests
    within a war file, called test.war. I would like to not have to place the test.war
    within the ear file because the ear may be release code but I still want to test
    it using the junitee tests. Instead I would like to optionally add the test.war
    to the application context and not the ear file. How would I go about doing that?
    I tried to deploy the test.war from the weblogic console, and hand editing the
    config.xml, and adding the test.war as a module to the application.xml (within
    the ear file).
    In all cases when I try to then use classes within the ear file I get ClassNotFoundExceptions.
    Probably because Weblogic is not including the test.war as part of the same application.
    Thank in advance for any help.
    -Fazle

Maybe you are looking for