How to package a .war file for multiple locations...

Sorry if this is in the wrong section, but I wasn't sure where to place it.
We have a webapp (.war) that we would like to package to distribute to multiple remote locations. We have to assume that the people installing this webapp have no Java/J2EE experience and will not have the technical know-how to be able to handle packaging the .war file themselves.
They do, however, need to be able to make configuration changes to the JDBC settings in the web.xml, the logging settings in log4j.xml, and configuration changes in the context.xml.
Since these files reside inside the .war, what is the best way to package this application so they can make changes to those files and package it to deploy on their application servers?
Thanks!

Well, the best way is to move that configuration out of those XML files and manage them directly from you application.
Then you can use the Java Preferences API to actually maintain the configuration data, and that data is stored outside of your application completely in some JRE dependent way (Registry on Windows, and the users home directory on Unix for Sun's JRE).
You can also modify your webapp to manage the configuration directly and have it rewrite the XML files itself. The Java Preferences API is better just because the config changes will survive if you happen to update the WAR file with a new version. Of course, you can still leverage the Preference API, get your "defaults" from the supplied XML files in the WAR, and then if your application detects a version change (the one in the Preferences is different from the one in the WAR), the app can update the XML files, and pop up a page telling the user to restart the application to see the new changes.
Finally, you can also write a Swing app that presents the few options that the user might need, and then it has the smarts to update the WAR file for them (it's simply a ZIP file and Java can read/write those). That way you have a simple wizard they can play with.
Also, for things like log4j, you can bundle that seperate from the WAR, and let them place it either on the CLASSPATH of their container, or in one of their shared directories (like shared/classes on Tomcat for example).
I'm fond of the Preferences technique with a Webapp configuration, as you can make your WAR almost plug and play. They plop in the war, app fires up, they hit the URL and there's a config page staring at them.
But all of these options require work outside of your application.
You can also perhaps get one of those Installer programs, and right an installer for them. You can explode the WAR in to any directory, and then have the container deploy it from there.

Similar Messages

  • How to create a WAR File for an IDM installation?

    I have a IDM 7.1.1 test instance installed on a server which uses a local mySQL.
    Is there a way I can create war file of the IDM installation? I would like to migrate the IDM to another server.
    I know how to create a IDM war through Netbean; this particulart instance is not hooked to NetBeans.

    i think it should be jar -cf /path/to/warfile/idm.war *Edited by: Amit_Bansal on Sep 30, 2008 9:49 AM

  • How to compile and build a war file for JAX-RPC

    Hi all,
    I know that all who use JAX-RPC knows it.
    How to compile JAX-RPC code which was not the sample code of JWSDP example?.
    Which jar file is to be included in classpath?.
    After compiling,how to make a WAR file so i can deploy it in TOMCAT ...anyone plz

    Nobody answers.But i found a right article which was quite helpfull to do it.
    http://java.sun.com/developer/technicalArticles/WebServices/getstartjaxrpc/

  • How to create different log files for each of web applications deployed in OC4J

    Hi All,
    I am using OC4J(from Oracle) v1.0.2.2 and Windows2000. Now I want to know
    1. how to create different log files for each of my deployed web applications ?
    2. what are the advantages in running multiple instances of oc4j and in what case we should run
    multiple instances of OC4J ?
    3. how to run OC4J as Windows2000 Service rather than Windows2000 Application ?
    Thanks and Regards,
    Kumar.

    Hi Avi,
    First of all I have given a first reading to log4j and I think there will some more easy way of logging debugging messages than log4j (If you could provide me a detailed explanation of a servlet,jsp,java bean that uses log4j and how to use log4j then it will be very helpful for me). The other easy ways (if I am not using log4j) to my problem i.e creating different log files for each of web applications deployed in oc4j are
    I have created multiple instances of OC4J that are configured to run on different ports and so on each instance I have deployed a single web application . And I started the 2 oc4j instances by transferring thier error/log messages to a file. And the other way is ..
    I have download from jakarta site a package called servhelper . This servhelper is a thread that is started in a startup servlet and stopped in the destroy method of that startup servlet. So this thread will automatically capture all the system.out.println's and will print those to a file. I believe that this thread program is synchronized. So in this method I need not run multiple instances of OC4J instead each deployed web application on single instance of oc4j uses the same thread program (ofcourse a copy of thread program is put in each of the deployed web applications directories) to log messages on to different log files.
    Can you comment on my above 2 approached to logging debugging messages and a compartive explanation to LOG4J and how to use LOG4J using a simple servlet, simple jsp is appreciated ...
    Thanks and Regards,
    Ravi.

  • How do you share Aperture file across multiple users on same Mac?

    How do you share Aperture file across multiple users on same Mac? Seems this should be a preferences choice.

    When you share your library between users, you may run into permission and ownership problems, if both users are editing the Aperture library and not only reading it. To avoid that, it helps to put the Aperture library onto a separate disk or a separate partion of your hard drive. For s separate partition or disk you can enable the "ignore ownership on this volume" flag. Then all users can access the library as owners of this library.
    You might try to put the aperture library into a shared folder on your mac, but that has caused problems recently, i.e. when the library also contains video files.
    Regards
    Léonie

  • How to deploy a war file on Weblogic Server 7.0??

    Hello Everyone
    I am trying to deploy a servlet on Weblogic Server 7.0 as a WAR file. Can anyone of u plz tell me the steps required to do that. I am posting this question on EJb forum and not on servlets coz this is not a servlet problem, rather this is something which is related to J2EE, ie how to deploy a war file on J2EE Server.
    This is how i have done it, but this is not working---
    (1) First i created a directory structure for the web application according to J2EE Specification.
    C:\Work\
    myServletWAR\
    META-INF\
    WEB-INF\
    classes\
    HelloServlet.class
    web.xml
    i.e within work directory, there is a dic called myServletWAR which is my application directory which contains 2 sub directories viz META-INF which contains the mainifest file being generated by the jar utility. the second directory in the myServletWAR application dir is WEB-INF, which contains one file called web.xml for servlet mapping and one directory classes which contains HelloServlet.class
    (2) I used following command for creating war file from myServletWAR director(i.e from my web application's directory).
    jar -cvf TestServletWAR.war .
    This creates the TestServletWAR.war file in myServletWAR dir.
    Here is how my Servlet and web.xml looks like...
    Servlet code
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    public class HelloServlet extends HttpServlet
    public void doPost ( HttpServletRequest req, HttpServletResponse res )
    throws IOException, ServletException
    doGet( req, res );
    public void doGet ( HttpServletRequest req, HttpServletResponse res )
    throws IOException, ServletException
    res.setContentType( "text/html" ); // Can also use "text/plain" or others.
    PrintWriter out = res.getWriter();
    // Get the requestor's IP address (See JavaDocs to see how to get other info):
    String addr = req.getRemoteAddr();
    // Create output (the response):
    out.println( "<HTML><HEAD><TITLE>HelloServlet in myServletWAR</TITLE></HEAD>" );
    out.println( "<BODY><H1 ALIGN=\"CENTER\">" );
    out.println( "Hello " + addr + ", from HelloServlet in myServletWAR!" );
    out.println( "</H1></BODY></HTML>" );
    out.close();
    ************************Servlet Ends Here **************************
    web.xml
    ---------------------------------------------------------- <!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
    "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
    <web-app>
    <display-name>myServletWAR, a first Web Application</display-name>
    <description>
    This is a simple web application containing a single servlet
    of the "Hello, World" variety.
    </description>
    <servlet>
    <servlet-name>myHello</servlet-name>
    <servlet-class>HelloServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>myHello</servlet-name>
    <url-pattern>/myHello</url-pattern>
    </servlet-mapping>
    </web-app>
    ****************************web.xml file ends here********************
    After deploying the TestServletWAR.war file on the weblogic 7.0, i tried to execute the servlet from the browser by the following URL
    http://localhost:7001/myServletWAR/myHello
    I am getting the HTTP 404 Error, which is an indication that weblogic was unable to find the resourse, which it was requested for. Can anybody plz tell me what i m doing worng?? do i need to use weblogic related xml file (i.e weblogic.xml) also along with web.xml. If yes, then what all i need to include that. I m not very sure. A sample weblogic.xml file for this HelloWorld example will help me a lot.
    Looking forward for your help
    Thanx in advance
    Nisha

    hi i have read ur answer regarding deploing a servlet in weblogic 7.0
    i am facing another problem
    when i try to access the servlet inside my classes directory it throwa an error stating this :
    IT DOES NOT FOUND THE CLASSES ON WHICH MY SERVLET DEPENDS.WHAT DOEES ATHIS MEAN
    KINDLY TELL ME
    PUNEET JAIN
    <May 28, 2003 1:46:25 PM IST> <Error> <HTTP> <101250> <[ServletContext(id=6057728,name=WebApp,context-path=/WebApp)]: Se
    rvlet class myclasses.Wservlet for servlet welcome could not be loaded because a class on which it depends was not found
    in the classpath D:\bea\user_projects\PuneetDomain\applications\WebApp;D:\bea\user_projects\PuneetDomain\applications\W
    ebApp\WEB-INF\classes.
    java.lang.NoClassDefFoundError: myclasses/Wservlet (wrong name: Wservlet)>
    <May 28, 2003 1:46:26 PM IST> <Error> <HTTP> <101018> <[ServletContext(id=6057728,name=WebApp,context-path=/WebApp)] Ser
    vlet failed with ServletException
    javax.servlet.ServletException: [ServletContext(id=6057728,name=WebApp,context-path=/WebApp)]: Servlet class myclasses.W
    servlet for servlet welcome could not be loaded because a class on which it depends was not found in the classpath D:\be
    a\user_projects\PuneetDomain\applications\WebApp;D:\bea\user_projects\PuneetDomain\applications\WebApp\WEB-INF\classes.
    java.lang.NoClassDefFoundError: myclasses/Wservlet (wrong name: Wservlet)
    at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:791)
    at weblogic.servlet.internal.ServletStubImpl.getServlet(ServletStubImpl.java:517)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:351)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:306)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:5412)
    at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:744)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3086)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2544)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:153)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:134)
    >

  • HOw to create a Batch file for java application and whats the use of this ?

    HI,
    How to create a Batch file for java application ?
    And whats the use of creating batch file ?
    Thanks in advance

    First of all, you're OT.
    Second, you can find this everywhere in the net.
    If you got a manifest declaring main class (an classpath if needed), just create a file named whatever.bat, within same directory of jar file, containing:
    javaw -jar ./WhateverTheNameOfYourJarIs.jar %*By the way, assuming a Windows OS, you can just double click the jar file (no batch is needed).
    Otherwise use:
    javaw -cp listOfJarsAndDirectoriesSeparedBySemiColon country/company/application/package/className %*Where 'country/company/application/package/' just stands for a package path using '/' as separator instead of '.'
    Don't specify the .class extension.
    Javaw only works on Windows (you asked for batch, I assumed .BAT, no .sh), in Linux please use java.exe (path may be needed, Windows doesn't need it 'cause java's executables are copied to system32 folder in order to be always available, see PATH environment variable if you don't know what I'm talking about) and use ':' as classpath (cp) separator.
    The '%***' tail is there in order to pass all parameters, it only works on Windows, refer to your shell docs for other OSs (something like $* may work).
    This way you have a command you can call to launch your code (instead of opening NetBeans just to see your app working). You could schedule tasks on it or just call it in any command prompt (hope you know what it is 'cause there have been people in this very same forum with no clue about it, if not just hold the 'Windows button' and press 'R', then type 'cmd' and run it).
    Finally add dukes and give 'hem away.
    Bye.

  • How to create a pdf file from multiple images ?

    Dear All,
    I want to create a SINGLE page pdf file from two or more page size images that are combined to make a single page pdf. Again, this question is on pdfs that are made out of several, atleast  two color images and a black-and-white mask for one of them.
    I have such pdf files from an unknown source (the producer is edited out) whereby there are three tiff images, obtained using the well known pdfimages extractor.
    When I want to make a pdf out of tiff or png or other image formats, I right click and tell Adobe Acrobat to make a pdf.
    However, I dont know how I can give a command to select say,  three tif images and specify which is the mask for which and then join  them in a way that I get the pdf from the composite of the two color images and a mask for one of them.
    Please help me out.
    I am a little familiar with the pdf structure skeleton and when necessary, fixed xref tables in one of my favorite editors. A few years ago, I also wrote a bunch of javascripts to make some annotations and needed some automation and used some itext type libraries. However, I need your help in this problem as I am now rusty and forgot some of what I studied to solve my earlier problems. This is a new problem for me. Gentle hints from you would be very nice to help me in this problem. Please specify if necessary what manual and pages to read. in the pdfspec.
    Best Regards
    Disabled Veteran [physically handicapped]

    Hello Again.
    On Fri, May 11, 2012 at 12:20 PM, lrosenth <[email protected]> wrote:
    >
    > Re: How to create a pdf file from multiple images ?
    >
    > created by lrosenth in PDF Language and Specifications - View the full
    > discussion
    > ________________________________
    >
    > No clue who Irving is…
    >
    I was hoping to have your first name so its easy for me to address you.
    > I have no clue what OS platform, programming language, etc. you use so
    > can’t really narrow things down.
    I would gladly mention that I am working on windows platform, preferably XP.
    I can also work on linux for free products that come with it.
    >  Also, as this is an Adobe forum, we only
    > recommend Adobe products – so there may be other options that even my list
    > wouldn’t include.
    But adding other products, for the help of an adobe products user,
    even if it outside adobe, shall add greater prestige to your company
    and give impression of user-centeredness.
    > If you read ISO 32000-1:2008 (aka the PDF standard), you will find the
    > information about Images and Image Masks well described.  I didn’t think I
    > needed to repeat any of that information.
    Well, just add the few pdf stanzas since you are proficient on it and
    I am presently a little rusty as I mentioned. Just asking a little
    extra yard, not even to go an extra mile.
    > And, if you read that same document, you will see that there is NO SUCH
    > THING as a “text only PDF”.   All PDF documents are structured binary files.
    Well, ascii format or uncompressed format that is human readable. I
    know its a binary file, but human readable ascii version of it.
    I hope you can give me some stanza and various other approaches
    possible so I can select or combine things for myself. I see only a
    miniscule number of posts claiming to have written masks in this forum
    and then with no details.
    Regards
    Roger
    Message was edited by: dying veteran
    because the adobe posting system went crazy and truncated all except the first line ... dunno why

  • How to create a war file of web application

    Hi Techies
    How to create a war file of the web application?
    And plz tell me the utilities used for it.

    hi,
    To compress a 'abc' web application into a "Web Archive" file named abc.war, follow the steps below:
    1> Open a command prompt and cd to the application's dir:
    <TOMCAT_HOME>\webapps\abc
    2> Use the java archive command 'jar' to bundle up your application:
    jar -cvf abc.war *
    3> Move this to any other server and work with it!! :)
    -- Abdel Raoof Olakara
    http://olakara.googlepages.com

  • How to create a password file for executing psadmin command to deploy portl

    how to create a password file for executing psadmin command to deploy portlet

    What you have done is perfectly right. The password file doesn't have anything else apart from the password
    for example in your case
    $echo password > /tmp/password.txt
    However I remember that in windows install, the Application server used to wait for a user's input when a deploy was to be done for the first time. So Can you read the Release notes or the Readme file which has come with windows.
    The solution was,
    manually use asadmin command of application server to deploy some war (any webapp will do), at this time, a question will be prompted to accept a certificate. once this is done, deploy portlet should work fine!!!
    HTH

  • JAR Files for multiple tracks

    Hi All,
    We have a scenario where we need to provide JAR files which needs to be accessible by all the tracks.Is there any solution which is being followed.
    In the current landscape we have built external library DC's for each track and trying to access the JARS. But the limitation where we are struck up is this DC is being only accessible to DC's in that track but not to the remaining tracks.
    Is there a global solution where we i can make my JAR file can be made accessible to multiple tracks.
    Thanks & Regards,
    Lokesh Kamana.

    Hi,
    Thats a good idea.
    I have a SC component created in SLD and create a track for this and copy the ext lib DC to this track.
    Define outbound connections for moving transports.
    But how to create an SCA file for my DC.
    ANS:-Just by clicking on assembly get a SCA file for this track and as outbound connection is defined this SCA gets moved to my track import that to all my tracks where i carry out my development.
    While moving the transports to other environments do i need to move this SCA file also along with them.
    Please let me know whether my understanding is correct or not.
    Thanks & Regards,
    Lokesh Kamana.

  • How do you set the duration for multiple stills in iMovie 2013?

    How do you set the duration for multiple stills in iMovie 2013?
    Before upgrading to the latest version of iMovie last month, I was able to set the duation of all of the stills included in an iMovie project at one time by clicking the apply to all still box in the adjustment pop up. That option is no longer apparent. If it is available I cannot find it, and I have tried several different ways to accomplish it. I have tried the iMovie help section and can find nothing to help.
    Apple, do I really have to adjust close to 500 pictures to a 5 second duration individually???
    REALLY??!!

    ...why wouldnt people want that level of accuracy when animating, especially when working to music at a specific duration?
    Because often people are animating to words or beats in the music.  Music is rarely performed with a computer-precise beat and tempo.  Musicians aren't robots: they swing the beat sometimes.  They use rubato.  They change tempo.  They change time signatures.  As a result, you have to FIND those words and beats.  It's not a situation where you can say, "There!  I've found the duration of one beat!  Now it's easy to find the rest of them!" 
    If you try it, you will be very disappointed.
    Try finding the precise end of a piece of music that fades or ends on a big chord with a ring-out.  You'll see that it's trial-and-error: what's the point where it becomes inaudible?  It depends on how high your speakers are turned up.  You might have them way up, you set an end point for the layer, and then you do a RAM Preview at a more reasonable volume.  You might say, "Hey!  The music ends before the layer ends!"...  but you KNOW you set the layer's out point when the audio file goes silent.
    AE has layer markers that can be used on an audio layer to mark beats, words, etc. They come in very handy.
    I guess it comes down to this: because AE can do so much different stuff, there are very few automated procedures.  Oh, Adobe tries with effects that convert audio levels to keyframes, but they're not 100% reliable... especially on something like a capella choral works.  For true accuracy, you need  find the timings yourself. 
    If you want something simpler, try a different application. But be prepared for lower level of accuracy.

  • How can i build RPMs file for my own Java Application?

    How can i build RPMs file for my own Java Application?....I have my own directory that contains all Java Source files and some files that my Application required....I want to build RPMs file like a install File to Linux System, Now my OS is Linux Fedora core 1.....How can i do this?

    I think that in order to create a RPM, you'd need to
    use some C.Nope - the RPM is all about packaging and the "magic" x.spec file. You can have anything you want in the RPM, but you have to use RPM tools to build the .rpm file. One of the features is that you can also indicate (via "install" scripts) modifications to other files or the filesystem to support the installation of whatever's in the RPM.

  • So how to specify different answer file for different install images in WDS snap-in?

    hello
    in WDS snap-in, in properties on server name, on client tab, we can define an answer file for unattended windows installation on WDS clients.
    my question is, maybe we have added multiple images in WDS snap-in (win xp image, win 7 , win 2008,...)
    now this one answer file applies to all of them ?
    so how to specify different answer file for different install images in WDS snap-in?
    thanks in advanced 

    Under the "Client" tab of WDS, you should only use an answer-file with settings relevant for the installation. This would be credentials for the WDS deployment share, international settings used during the setup and possibly also destination drive
    details (if you want the installation to take care of partitioning the disk etc). The settings relevant for unattend-files used under "Client" would only be of those in phase 1 (WinPE).
    However, if you would like to have specific unattend file for every installation, e.g. Win7, Server 2008, Win 8 etc, you can browse to the image under "Install Images" under the image Groups. There you can select properties for every image and
    have a personal unattend-file.
    hi Joel
    very cool. thanks a lot, that really helped me.
    best regards

  • How to deploy a WAR file in JRun server?

    hi,
    I created one war file, now i want to deploy that file in JRun server. can anyone give me an idea of how to deploy that war file in server...

    By following the deployment documentation for your server. This isn't a general purpose "help me do everything" forum

Maybe you are looking for