Make spark store user data in any directory

I had to do this for our setup at work, so I thought I would share. Hopefully it helps the non-coders do this.

In this example, I will use the network mapped P: Drive. This is mapped individually for each of our users.

Requirements:

Subversion

Java JDK (tools.jar)

Apache Ant (used for building)

Get the source for the spark 2.5.8 trunk:

svn co http://svn.igniterealtime.org/svn/repos/spark/tags/spark_2_5_8/ spark

Edit the file: spark/src/java/org/jivesoftware/spark.java

Change the line:

private static final String USER_SPARK_HOME = System.getProperties().getProperty(“user.home”) + “/” + getUserConf();

To:

private static final String USER_SPARK_HOME = “P:/Spark”

You can replace “Spark” with anything you want, but it is nice to have it contained in another folder

Now go to spark/build in a command prompt, and type “ant release”. This will compile the program to “spark/target/build/”.

Does anyone have an easy mechanism for building msi files?