Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 637275
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 13, 20262026-05-13T20:36:22+00:00 2026-05-13T20:36:22+00:00

I am just wondering what the solution is to setting up SVN and having

  • 0

I am just wondering what the solution is to setting up SVN and having it deploy to an external server with just the JSP and class files. How do you rid the src folder when deploying. What is the proper set up for this. I just want to be able to have multiple users commit work including src files but when they are deployed onto the production server i would like the file structure to exclude the src folder, .project, .classpath, etc files that I don’t need.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-13T20:36:23+00:00Added an answer on May 13, 2026 at 8:36 pm

    Write a script (I use ant for such java projects) that promotes/copies to your production environment exactly what you want.

    In my case, the ant scripts:

    1. Create a tmp directory,
    2. Copies specific files from the source trees into the new file structure (often exactly the same as the source, just not in the source folders, and excluding .svn and other files I wouldn’t want (.java files rather than .class files or jars etc)
    3. Compiles and jars what’s needed
    4. Does search/replace in configuration files (to allow deployment to staging, dev, qa or production environments which may differ
    5. Zips the whole thing up and copies (scp) to the target server if remote
    6. Stops any existing running applications
    7. unpacks the new version
    8. Starts the new application

    I have, on some projects, options to upload just changed files rather than redeploying whole applications, but that’s a design choice you’ll get to make yourself. For the larger projects I’ve worked on I’ve gravitated to deploying the whole project for each update rather than copying individual files/changes to the server. This way I can ensure the integrity of the build process and the production environment and not have to worry about random files possibly being out of sync with the rest of the project.

    Generally for anything other than trivially simple project, you’ll want a real make/build environment … which you’ll have to write your self.

    Ant

    Maven

    shell scripts

    make

    all are possible solutions.

    <!-- **************** USAGE (DEFAULT) -->
    <target name="usage">
        <!-- echo detailed usage instructions here -->
    </target>   
    
    
    <!-- ************************************************** -->
    <!-- ******************* WAS 4.0 WORKER TARGETS -->
    <target name="init" depends="validenvironment">
        <tstamp/>
        <echo>Build of ${ant.project.name} started at ${TSTAMP} on ${TODAY} </echo>
    
    </target>
    
    <target name="inittomcat">
        <delete dir="tomcatdeploy" />
        <mkdir dir="tomcatdeploy" />
    </target>   
    <target name="initapache">
        <delete dir="apacheconfig" />
        <mkdir dir="apacheconfig" />
    </target>   
    
    <!-- validates that you've specified an environment (production, dev, staging etc.) from an allowed list -->
    <target name="validenvironment">
        <condition property="valid.environment">
            <or>
                <equals arg1="${penvironment}" arg2="dev" />
                <equals arg1="${penvironment}" arg2="qa" />
                <equals arg1="${penvironment}" arg2="staging" />
                <equals arg1="${penvironment}" arg2="prod" />
            </or>
        </condition>
        <fail message="Invalid target ${penvironment}."  unless="valid.environment" />
    </target>
    
    <!-- validates that you've specified a target server to deploy to. Only checks to see if the propery is set, not actual values -->
    <target name="validserver">
        <condition property="valid.server">
            <isset property="pserver" />
        </condition>
        <fail message="Invalid server ${pserver}. You must specifiy a server for this target."  unless="valid.server" />
    </target>
    
    <target name="initwar">
        <delete dir="tmp/war" />
        <mkdir dir="tmp/war" />
        <mkdir dir="tmp/war/WEB-INF" />
        <mkdir dir="tmp/war/WEB-INF/classes" />
        <mkdir dir="tmp/war/WEB-INF/lib" />
        <mkdir dir="tmp/war/tags" />
        <mkdir dir="tmp/war/images" />
        <mkdir dir="tmp/war/javascript" />
        <mkdir dir="tmp/war/html" />
        <mkdir dir="tmp/war/components" />
    </target>   
    
    <target name="war" depends="initwar" if="penvironment">
        <echo>Compiling source files...</echo>
    
        <ant antfile="build.xml" dir="classes/" target="compile" inheritAll="false" >
            <property name="penvironment" value="${penvironment}" />
        </ant>
    
        <echo>Compile done.</echo>
    
        <copy todir="tmp/war/WEB-INF/classes" preservelastmodified="true" >
            <fileset dir="classes/build" includes="**/*.class" /> 
        </copy>
        <copy todir="tmp/war/WEB-INF/controller_jsp" preservelastmodified="true" >
            <fileset dir="controller" includes="**/*.*" /> 
        </copy>
        <copy todir="tmp/war/WEB-INF" preservelastmodified="true" >
            <fileset dir="build" includes="**/*.xsl" /> 
        </copy>
        <copy todir="tmp/war/WEB-INF/lib" preservelastmodified="true" >
            <fileset dir="build/lib${penv}" includes="**/*.*" /> 
        </copy>
        <copy todir="tmp/war/html" preservelastmodified="true" >
            <fileset dir="html" includes="**/*.*" /> 
        </copy>
        <copy todir="tmp/war/components" preservelastmodified="true" >
            <fileset dir="components" includes="**/*.*" /> 
        </copy>
        <copy todir="tmp/war/" preservelastmodified="true" >
            <fileset dir="root" includes="**/*.*" /> 
        </copy>
        <copy todir="tmp/war/pages" preservelastmodified="true" >
            <fileset dir="pages" includes="**/*.*" /> 
        </copy>
        <copy todir="tmp/war/tags" preservelastmodified="true" >
            <fileset dir="tags" includes="**/*.*" /> 
        </copy>
        <copy todir="tmp/war/images" preservelastmodified="true" >
            <fileset dir="images" includes="**/*.*" /> 
        </copy>
        <copy todir="tmp/war/javascript" preservelastmodified="true" >
            <fileset dir="javascript" includes="**/*.*" /> 
        </copy>
    
        <!-- copy the web.xml for the target environment into the temp war directory -->
        <copy tofile="tmp/war/WEB-INF/web.xml" file="xonfig/$penvironment}.web.xml" preservelastmodified="true" >
        </copy>
        <!-- now replace all properties in the web.xml file with their values from ${penvironment}.properties -->
        <echo>Replacing all properties in the web.xml file with their values from ${penvironment}.properties</echo>
        <replace
            file="tmp/war/WEB-INF/web.xml"
            propertyFile="config/${penvironment}.properties">
            <replacefilter token="%%HOSTNAME%%" property="webxml.hostname" />
        </replace>
    
        <copy tofile="tmp/war/WEB-INF/application.properties" file="config/application.properties" preservelastmodified="true" >
        </copy>
        <!-- now replace all properties in the application.properties file with their values from ${penvironment}.properties -->
        <echo>Replacing all properties in the crm.properties file with their values from ${penvironment}.properties</echo>
        <replace
            encoding="ISO-8859-1"
            file="tmp/war/WEB-INF/application.properties"
            propertyFile="build/${penvironment}.properties">
            <replacefilter token="%%HOSTNAME%%" property="hostname" />
            <replacefilter token="%%EMAILADDRESS%%" property="emailaddress" />
            <replacefilter token="%%LOGFILE%%"  property="logfile" />
            <replacefilter token="%%LOGLEVEL%%" property="loglevel" />
            <replacefilter token="%%DEFAULTPAGE%%"  property="defaultpage" />
            <replacefilter token="%%MAILSERVER%%"   property="mailserver" />
            <replacefilter token="%%SUPPORTEDLANGUAGES%%"   property="supportedlanguages" />
            <replacefilter token="%%LDAPHOST%%" property="ldaphost" />
            <replacefilter token="%%LDAPHOSTBACKUP%%"   property="ldaphostbackup" />
            <replacefilter token="%%LDAPPORT%%" property="ldapport" />
            <replacefilter token="%%LDAPVER%%"  property="ldapver" />
            <replacefilter token="%%LDAPDC%%"   property="ldapdc" />
            <replacefilter token="%%LDAPPW%%"   property="ldappw" />
            <replacefilter token="%%LDAPUSERDC%%"   property="ldapuserdc" />
            <replacefilter token="%%LDAPSEARCH%%"   property="ldapsearch" />
            <replacefilter token="%%DATASCHEMA%%"  property="dataschema" />
    
        </replace>      
    
        <copy tofile="tmp/war/WEB-INF/navigation.properties" file="config/${penvironment}.maxnavigation.properties" preservelastmodified="true" >
        </copy>
    
        <copy todir="tmp/war/WEB-INF" preservelastmodified="true" >
            <fileset dir="config/bundle" includes="**/*.*" /> 
        </copy>
    
        <!-- Create war file NOT USED right now as we're building this directly into the tomcat directory-->
        <!--jar jarfile="tmp/${penvironment}.war" basedir="tmp/war"  -->
    </target>
    
    <target name="buildtomcat"  depends="war,inittomcat,validenvironment" if="penvironment">        
        <mkdir dir="tmp/tomcatdeploy/${penvironment}" />
        <delete>
            <fileset dir="tomcat/6.x/logs" includes="**/*.log"/>
        </delete>
        <copy todir="tmp/tomcatdeploy/${penvironment}/tomcat" preservelastmodified="true" >
            <fileset dir="tomcat/6.x" includes="**/*.*" /> 
        </copy>
        <mkdir dir="tmp/tomcatdeploy/${ppenvironment}/tomcat/logs" />
        <mkdir dir="tmp/tomcatdeploy/${penvironment}/tomcat/webapps/${tomcat.contextroot}" />
        <copy todir="tmp/tomcatdeploy/${penvironment}/tomcat/webapps/${tomcat.contextroot}" preservelastmodified="true" >
            <fileset dir="tmp/war" includes="**/*.*" /> 
        </copy>
    
        <!-- now copy the tomcat config files -->
        <copy tofile="tmp/tomcatdeploy/${penvironment}/tomcat/conf/context.xml" overwrite="true" file="config/context.xml" preservelastmodified="true" >
        </copy>
        <!-- now replace all variables in context.xml -->
        <replace 
            encoding="ISO-8859-1"
            file="tmp/tomcatdeploy/${penvironment}/tomcat/conf/context.xml"
            token="%%JDBCNAME%%" value="${context.jdbcname}" />
        <replace
            encoding="ISO-8859-1"
            file="tmp/tomcatdeploy/${penvironment}/tomcat/conf/context.xml"
            token="%%JDBCUSER%%" value="${context.jdbcuser}" />
        <replace
            encoding="ISO-8859-1"
            file="tmp/tomcatdeploy/${penvironment}/tomcat/conf/context.xml"
            token="%%JDBCPASSWORD%%" value="${context.jdbcpassword}" />
        <replace
            encoding="ISO-8859-1"
            file="tmp/tomcatdeploy/${penvironment}/tomcat/conf/context.xml"
            token="%%JDBCDRIVER%%" value="${context.jdbcdriver}" />
        <replace 
            encoding="ISO-8859-1"
            file="tmp/tomcatdeploy/${penvironment}/tomcat/conf/context.xml"
            token="%%JDBCURL%%" value="${context.jdbcurl}" />
        <!-- now replace all variables / ports in server.xml -->
        <copy tofile="tmp/tomcatdeploy/${penvironment}/tomcat/conf/server.xml" overwrite="true" file="config/server.xml" preservelastmodified="true" >
        </copy>
        <!-- deleted for this example -->
    
        <!-- END replace all variables / ports in server.xml -->
        <!-- Now, replace CONTEXT in catalina.sh and catalina.bat -->
        <replace
            encoding="ISO-8859-1"
            file="tmp/tomcatdeploy/${penvironment}/tomcat/bin/catalina.sh"
            propertyFile="/config/${penvironment}.properties">
            <replacefilter token="%%CONTEXT%%"  property="tomcat.contextroot" />
        </replace>
        <replace
            encoding="ISO-8859-1"
            file="tmp/tomcatdeploy/${penvironment}/tomcat/bin/catalina.bat"
            propertyFile="/config/${penvironment}.properties">
            <replacefilter token="%%CONTEXT%%"  property="tomcat.contextroot" />
        </replace>
    </target>
    
    <target name="deployfullapplication" depends="validenvironment,validserver" >
        <antcall target="deploytomcat" />
        <antcall target="deployapacheconfig" />
        <antcall target="restartapache" />
    </target>
    
    <target name="deploytomcat" depends="buildtomcat" >
    
        <!-- zip the tomcatdeploy directoyr up -->
        <zip destfile="tmp/${penvironment}.zip" basedir="tmp/tomcatdeploy" />
        <!-- now scp to the server -->
        <echo>Copying "tmp/${penvironment}.zip" to "${webuser}@${pserver}:/opt/www"</echo>
        <scp remoteToDir="${webuser}@${pserver}:/opt/www" file="tmp/${penvironment}.zip" verbose="true" failonerror="true" trust="true">
        </scp>      
    
        <!-- now kill existing process on the server -->
            <antcall target="stoptomcat" />
        <!-- now archive the existing deployed application on the server to ${penvironment}.${currenttimestamp} -->
            <antcall target="archivetomcat" />
        <!-- now uncompress the zipped archive into the deployed location /opt/www/${penvironment} -->
            <antcall target="unzipremotetomcat" />
        <!-- now start the application -->
            <antcall target="starttomcat" />
        <!-- cool. thats it. good job. -->
    
        <!-- all the remote tasks have been deleted in this example.... just to get the idea of what to do. -->
    </target>
    
    <target name="restarttomcat" depends="validenvironment,validserver" >
        <antcall target="stoptomcat"/>
        <antcall target="starttomcat"/>
    </target>
    
    <target name="starttomcat" unless="pnostart" if="pserver" depends="validenvironment,validserver">
        <!-- all the remote tasks have been deleted in this example.... just to get the idea of what to do. -->
    </target>
    
    <target name="unzipremotetomcat" if="pserver" depends="validenvironment,validserver">
        <!-- all the remote tasks have been deleted in this example.... just to get the idea of what to do. -->
    </target>
    
    <target name="archivetomcat" if="pserver"  depends="validenvironment,validserver">
        <!-- all the remote tasks have been deleted in this example.... just to get the idea of what to do. -->
    </target>
    
    <target name="stoptomcat" unless="pnokill"  if="pserver" depends="validenvironment,validserver">
        <!-- all the remote tasks have been deleted in this example.... just to get the idea of what to do. -->
    </target>
    
    <target name="killtomcatprocessonecall" depends="validenvironment,validserver">
        <!-- all the remote tasks have been deleted in this example.... just to get the idea of what to do. -->
    </target>
    
    
    <target name="restartapache" depends="validenvironment,validserver" >
        <!-- all the remote tasks have been deleted in this example.... just to get the idea of what to do. -->
    </target>
    
    <target name="deployapacheconfig"  depends="configapache,validserver">
        <!-- all the remote tasks have been deleted in this example.... just to get the idea of what to do. -->
    </target>
    
    <target name="configapache" if="penv"  depends="init,validenvironment">
        <mkdir dir="tmp/apacheconfig" />
        <mkdir dir="tmp/apacheconfig/vhosts.d" />
        <mkdir dir="tmp/apacheconfig/ssl.crt" />
        <mkdir dir="tmp/apacheconfig/ssl.key" />
        <mkdir dir="tmp/apacheconfig/extra" />
        <mkdir dir="tmp/apacheconfig/passwords" />
    
        <echo>Copying http base config files...</echo>
        <copy tofile="tmp/apacheconfig/vhosts.d/${penvironment}.conf" file="config/apache/vhosts/http.conf" preservelastmodified="true"  />
    
        <echo>http only replace in http config file...</echo>
        <replace
            encoding="ISO-8859-1"
            file="tmp/apacheconfig/vhosts.d/${penvironment}.conf"
            propertyFile="config/${penvironment}.properties">
            <replacefilter token="%%SERVERADMIN%%"  property="httpd.serveradmin" />
            <replacefilter token="%%LOGFILE%%"  property="httpd.logfile" />
            <replacefilter token="%%HOSTNAME%%" property="httpd.hostname" />
            <replacefilter token="%%ROOT%%"     property="httpd.root" />
            <replacefilter token="%%HOSTIP%%"   value="*" />
            <replacefilter token="%%PORT%%"     value="80" />
            <replacefilter token="%%PROTOCOL%%" value="http" />
            <replacefilter token="%%SSL%%"      value="off" />
            <replacefilter token="%%SSLCERT%%"  value="" />
            <replacefilter token="%%SSLKEY%%"   value="" />
            <replacefilter token="%%SSLCACERT%%"    value="" />
            <replacefilter token="%%CONTEXTROOT%%"  property="tomcat.contextroot" />
            <replacefilter token="%%AJPPORT%%"  property="port.ajp13" />
            <replacefilter token="%%DEFAULTPAGE%%"  property="http.defaultpage" />
            <replacefilter token="%%ERRORPAGE%%"    property="http.errorpage" />
        </replace>
        <condition property="dossl">
            <and>
                <isset property="${penvironment}.ssl.ip" />
            </and>
        </condition>
    
        <antcall target="apachessl" />
    
    </target>
    
    <target name="apachessl" if="dossl">
    
        <copy tofile="tmp/apacheconfig/vhosts.d/${penvironment}.s.conf" file="apache/vhosts/http.conf"  preservelastmodified="true" />
    
        <echo>https only replace in https config file...</echo>
        <replace
            encoding="ISO-8859-1"
            file="tmp/apacheconfig/vhosts.d/${penvironment}.s.conf"
            propertyFile="config/${penvironment}.properties">
            <replacefilter token="%%SERVERADMIN%%"  property="httpd.serveradmin" />
            <replacefilter token="%%LOGFILE%%"  property="httpd.logfile" />
            <replacefilter token="%%HOSTNAME%%" property="httpd.hostname" />
            <replacefilter token="%%ROOT%%"     property="httpd.root" />
            <replacefilter token="%%PORT%%"     value="443" />
            <replacefilter token="%%PROTOCOL%%" value="https" />
            <replacefilter token="%%SSL%%"      property="httpd.ssl" />
            <replacefilter token="%%SSLCERT%%"  property="https.sslcert" />
            <replacefilter token="%%SSLKEY%%"   property="https.sslkey" />
            <replacefilter token="%%SSLCACERT%%"    property="https.sslcacert" />
            <replacefilter token="%%CONTEXTROOT%%"  property="tomcat.contextroot" />
            <replacefilter token="%%AJPPORT%%"  property="port.ajp13" />
            <replacefilter token="%%JKWORKER%%" property="tomcat.jkworker" />
            <replacefilter token="%%DEFAULTPAGE%%"  property="http.defaultpage" />
            <replacefilter token="%%ERRORPAGE%%"    property="http.errorpage" />
        </replace>
        <copy tofile="tmp/apacheconfig/ssl.crt/${penvironment}.cert" file="config/apache/ssl.crt/${penvironment}.cert" failonerror="false" preservelastmodified="true"  />
        <copy tofile="tmp/apacheconfig/ssl.crt/verisign.intermediate.cert" file="config/apache/ssl.crt/verisign.intermediate.cert" failonerror="false" preservelastmodified="true"  />
        <copy tofile="tmp/apacheconfig/ssl.crt/network.solutions.ca.cert" file="config/apache/ssl.crt/network.solutions.ca.cert" failonerror="false" preservelastmodified="true"  />
        <copy tofile="tmp/apacheconfig/ssl.key/${penvironment}.key" file="config/apache/ssl.key/${penvironment}.key" failonerror="false" preservelastmodified="true"  />
    </target>
    

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Premise This problem has a known solution (shown below actually), I'm just wondering if
Just wondering, having the following simple code: var object1 = { name: function (){
I've begun setting up SVN repositories to store my code, and am wondering if
I am just wondering if there is a simple solution already to the problem
just wondering if there is a way to reduce the amount of code needed
Just wondering: I'm trying to set up an adaptive image handler in Coldfusion8, which
Just wondering the best way to replace in place matches on a string. value.replace(bob,
Just wondering when do you actually use $.get(index); I am a bit confused on
Just wondering for user permission check, Should you keep the permission in the session
just wondering when I had an iphone I was able to create a web

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.