diff --git a/bin/cassandra-cli.bat b/bin/cassandra-cli.bat
index c6953c9a9e..958e1fd582 100644
--- a/bin/cassandra-cli.bat
+++ b/bin/cassandra-cli.bat
@@ -33,8 +33,8 @@ set CLASSPATH=%CLASSPATH%;%1
goto :eof
:okClasspath
-REM Include the build\classes directory so it works in development
-set CASSANDRA_CLASSPATH=%CLASSPATH%;"%CASSANDRA_HOME%\build\classes"
+REM Include the build\classes\main directory so it works in development
+set CASSANDRA_CLASSPATH=%CLASSPATH%;"%CASSANDRA_HOME%\build\classes\main"
goto runCli
:runCli
diff --git a/bin/cassandra.bat b/bin/cassandra.bat
index 74ff4aead4..c143301110 100644
--- a/bin/cassandra.bat
+++ b/bin/cassandra.bat
@@ -54,8 +54,8 @@ set CLASSPATH=%CLASSPATH%;%1
goto :eof
:okClasspath
-REM Include the build\classes directory so it works in development
-set CASSANDRA_CLASSPATH=%CLASSPATH%;"%CASSANDRA_HOME%\build\classes"
+REM Include the build\classes\main directory so it works in development
+set CASSANDRA_CLASSPATH=%CLASSPATH%;"%CASSANDRA_HOME%\build\classes\main"
set CASSANDRA_PARAMS=-Dcassandra -Dcassandra-foreground=yes
goto runDaemon
diff --git a/bin/cassandra.in.sh b/bin/cassandra.in.sh
index 8b035eac43..31d9a2c3ec 100644
--- a/bin/cassandra.in.sh
+++ b/bin/cassandra.in.sh
@@ -26,7 +26,7 @@ fi
# This can be the path to a jar file, or a directory containing the
# compiled classes. NOTE: This isn't needed by the startup script,
# it's just used here in constructing the classpath.
-cassandra_bin=$CASSANDRA_HOME/build/classes
+cassandra_bin=$CASSANDRA_HOME/build/classes/main
#cassandra_bin=$cassandra_home/build/cassandra.jar
# JAVA_HOME can optionally be set here
diff --git a/bin/clustertool.bat b/bin/clustertool.bat
index 06ca498ee8..17eeee2772 100644
--- a/bin/clustertool.bat
+++ b/bin/clustertool.bat
@@ -40,8 +40,8 @@ set CLASSPATH=%CLASSPATH%;%1%2
goto :eof
:okClasspath
-REM Include the build\classes directory so it works in development
-set CASSANDRA_CLASSPATH=%CLASSPATH%;%CASSANDRA_HOME%\build\classes;%CASSANDRA_CONF%
+REM Include the build\classes\main directory so it works in development
+set CASSANDRA_CLASSPATH=%CLASSPATH%;%CASSANDRA_HOME%\build\classes\main;%CASSANDRA_CONF%
set CASSANDRA_PARAMS=
set TOOLS_PARAMS=
diff --git a/bin/json2sstable.bat b/bin/json2sstable.bat
index 96aad68b38..253f2e943c 100644
--- a/bin/json2sstable.bat
+++ b/bin/json2sstable.bat
@@ -40,8 +40,8 @@ set CLASSPATH=%CLASSPATH%;%1%2
goto :eof
:okClasspath
-REM Include the build\classes directory so it works in development
-set CASSANDRA_CLASSPATH=%CLASSPATH%;%CASSANDRA_HOME%\build\classes;%CASSANDRA_CONF%
+REM Include the build\classes\main directory so it works in development
+set CASSANDRA_CLASSPATH=%CLASSPATH%;%CASSANDRA_HOME%\build\classes\main;%CASSANDRA_CONF%
set CASSANDRA_PARAMS=
set TOOLS_PARAMS=
diff --git a/bin/nodetool.bat b/bin/nodetool.bat
index c7282193e4..5b803014cd 100644
--- a/bin/nodetool.bat
+++ b/bin/nodetool.bat
@@ -33,8 +33,8 @@ set CLASSPATH=%CLASSPATH%;%1
goto :eof
:okClasspath
-REM Include the build\classes directory so it works in development
-set CASSANDRA_CLASSPATH=%CLASSPATH%;%CASSANDRA_HOME%\build\classes
+REM Include the build\classes\main directory so it works in development
+set CASSANDRA_CLASSPATH=%CLASSPATH%;%CASSANDRA_HOME%\build\classes\main
goto runNodeTool
:runNodeTool
diff --git a/bin/schematool.bat b/bin/schematool.bat
index 56f4393dda..427710ee3e 100644
--- a/bin/schematool.bat
+++ b/bin/schematool.bat
@@ -40,8 +40,8 @@ set CLASSPATH=%CLASSPATH%;%1%2
goto :eof
:okClasspath
-REM Include the build\classes directory so it works in development
-set CASSANDRA_CLASSPATH=%CLASSPATH%;%CASSANDRA_HOME%\build\classes;%CASSANDRA_CONF%
+REM Include the build\classes\main directory so it works in development
+set CASSANDRA_CLASSPATH=%CLASSPATH%;%CASSANDRA_HOME%\build\classes\main;%CASSANDRA_CONF%
set CASSANDRA_PARAMS=
set TOOLS_PARAMS=
diff --git a/bin/sstable2json.bat b/bin/sstable2json.bat
index 9f5464f60b..d3ec826015 100644
--- a/bin/sstable2json.bat
+++ b/bin/sstable2json.bat
@@ -40,8 +40,8 @@ set CLASSPATH=%CLASSPATH%;%1%2
goto :eof
:okClasspath
-REM Include the build\classes directory so it works in development
-set CASSANDRA_CLASSPATH=%CLASSPATH%;%CASSANDRA_HOME%\build\classes;%CASSANDRA_CONF%
+REM Include the build\classes\main directory so it works in development
+set CASSANDRA_CLASSPATH=%CLASSPATH%;%CASSANDRA_HOME%\build\classes\main;%CASSANDRA_CONF%
set CASSANDRA_PARAMS=
set TOOLS_PARAMS=
diff --git a/bin/sstablekeys.bat b/bin/sstablekeys.bat
index f2533f91d0..e696ca0b17 100644
--- a/bin/sstablekeys.bat
+++ b/bin/sstablekeys.bat
@@ -40,8 +40,8 @@ set CLASSPATH=%CLASSPATH%;%1%2
goto :eof
:okClasspath
-REM Include the build\classes directory so it works in development
-set CASSANDRA_CLASSPATH=%CLASSPATH%;%CASSANDRA_HOME%\build\classes;%CASSANDRA_CONF%
+REM Include the build\classes\main directory so it works in development
+set CASSANDRA_CLASSPATH=%CLASSPATH%;%CASSANDRA_HOME%\build\classes\main;%CASSANDRA_CONF%
set CASSANDRA_PARAMS=
set TOOLS_PARAMS=
diff --git a/build.xml b/build.xml
index 413b9fe73a..97c43208c5 100644
--- a/build.xml
+++ b/build.xml
@@ -34,6 +34,7 @@
+
@@ -55,7 +56,8 @@
-
+
-
+
@@ -100,7 +102,7 @@
-
+
@@ -346,7 +348,8 @@
-
+
@@ -366,11 +369,13 @@
The jar target makes cassandra.jar output.
-->
-
-
-
+
+
+
+ basedir="${build.classes.main}">
@@ -639,7 +644,7 @@
-
+
@@ -746,7 +751,7 @@
-
+
]]>
diff --git a/contrib/circuit/bin/circuit b/contrib/circuit/bin/circuit
index d85bd66664..ed70e56c0b 100755
--- a/contrib/circuit/bin/circuit
+++ b/contrib/circuit/bin/circuit
@@ -20,18 +20,18 @@ DEFAULT_PORT=7199
if [ "x$CLASSPATH" = "x" ]; then
# Cassandra class files.
- if [ ! -d `dirname $0`/../../../build/classes ]; then
+ if [ ! -d `dirname $0`/../../../build/classes/main ]; then
echo "Unable to locate cassandra class files" >&2
exit 1
fi
# Circuit class files.
- if [ ! -d `dirname $0`/../build/classes ]; then
+ if [ ! -d `dirname $0`/../build/classes/main ]; then
echo "Unable to locate circuit class files" >&2
exit 1
fi
- CLASSPATH=`dirname $0`/../../../build/classes:`dirname $0`/../build/classes
+ CLASSPATH=`dirname $0`/../../../build/classes/main:`dirname $0`/../build/classes/main
for jar in `dirname $0`/../../../lib/*.jar; do
CLASSPATH=$CLASSPATH:$jar
done
diff --git a/contrib/circuit/build.xml b/contrib/circuit/build.xml
index b8043a8cea..409019adad 100644
--- a/contrib/circuit/build.xml
+++ b/contrib/circuit/build.xml
@@ -20,7 +20,7 @@
-
+
diff --git a/contrib/client_only/bin/client_only b/contrib/client_only/bin/client_only
index 92a23bd12c..af2a62312d 100755
--- a/contrib/client_only/bin/client_only
+++ b/contrib/client_only/bin/client_only
@@ -21,7 +21,7 @@ cwd=`dirname $0`
name=client_only
# Cassandra class files
-if [ ! -d $cwd/../../../build/classes ]; then
+if [ ! -d $cwd/../../../build/classes/main ]; then
echo "Unable to locate cassandra class files" >&2
exit 1
fi
@@ -33,7 +33,7 @@ if [ ! -e $cwd/../build/$name.jar ]; then
fi
CLASSPATH=$CLASSPATH:$cwd/../build/$name.jar
-CLASSPATH=$CLASSPATH:$cwd/../../../build/classes
+CLASSPATH=$CLASSPATH:$cwd/../../../build/classes/main
for jar in $cwd/../../../lib/*.jar; do
CLASSPATH=$CLASSPATH:$jar
done
diff --git a/contrib/client_only/build.xml b/contrib/client_only/build.xml
index 0bc951f400..1052d43f5a 100644
--- a/contrib/client_only/build.xml
+++ b/contrib/client_only/build.xml
@@ -20,7 +20,7 @@
-
+
diff --git a/contrib/javautils/build.xml b/contrib/javautils/build.xml
index d1392f1e25..81b8c4b046 100644
--- a/contrib/javautils/build.xml
+++ b/contrib/javautils/build.xml
@@ -21,7 +21,7 @@
-
+
diff --git a/contrib/pig/build.xml b/contrib/pig/build.xml
index 1c1beac533..f2336832d1 100644
--- a/contrib/pig/build.xml
+++ b/contrib/pig/build.xml
@@ -22,7 +22,7 @@
-
+
diff --git a/contrib/stress/bin/stress b/contrib/stress/bin/stress
index d43e319348..f082ff1bdd 100755
--- a/contrib/stress/bin/stress
+++ b/contrib/stress/bin/stress
@@ -18,18 +18,18 @@
if [ "x$CLASSPATH" = "x" ]; then
# Cassandra class files.
- if [ ! -d `dirname $0`/../../../build/classes ]; then
+ if [ ! -d `dirname $0`/../../../build/classes/main ]; then
echo "Unable to locate cassandra class files" >&2
exit 1
fi
# Stress class files.
- if [ ! -d `dirname $0`/../build/classes ]; then
+ if [ ! -d `dirname $0`/../build/classes/main ]; then
echo "Unable to locate stress class files" >&2
exit 1
fi
- CLASSPATH=`dirname $0`/../../../build/classes:`dirname $0`/../build/classes
+ CLASSPATH=`dirname $0`/../../../build/classes/main:`dirname $0`/../build/classes/main
for jar in `dirname $0`/../../../lib/*.jar; do
CLASSPATH=$CLASSPATH:$jar
done
diff --git a/contrib/stress/build.xml b/contrib/stress/build.xml
index 6f921eb8f8..bbddcfb163 100644
--- a/contrib/stress/build.xml
+++ b/contrib/stress/build.xml
@@ -20,7 +20,7 @@
-
+
diff --git a/contrib/word_count/bin/word_count b/contrib/word_count/bin/word_count
index 6486ab54a1..a7ad59d032 100755
--- a/contrib/word_count/bin/word_count
+++ b/contrib/word_count/bin/word_count
@@ -19,7 +19,7 @@
cwd=`dirname $0`
# Cassandra class files.
-if [ ! -d $cwd/../../../build/classes ]; then
+if [ ! -d $cwd/../../../build/classes/main ]; then
echo "Unable to locate cassandra class files" >&2
exit 1
fi
@@ -31,7 +31,7 @@ if [ ! -e $cwd/../build/word_count.jar ]; then
fi
CLASSPATH=$CLASSPATH:$cwd/../build/word_count.jar
-CLASSPATH=$CLASSPATH:$cwd/../../../build/classes
+CLASSPATH=$CLASSPATH:$cwd/../../../build/classes/main
for jar in $cwd/../build/lib/jars/*.jar; do
CLASSPATH=$CLASSPATH:$jar
done
diff --git a/contrib/word_count/bin/word_count_setup b/contrib/word_count/bin/word_count_setup
index f6986096eb..6ca5f0f405 100755
--- a/contrib/word_count/bin/word_count_setup
+++ b/contrib/word_count/bin/word_count_setup
@@ -19,7 +19,7 @@
cwd=`dirname $0`
# Cassandra class files.
-if [ ! -d $cwd/../../../build/classes ]; then
+if [ ! -d $cwd/../../../build/classes/main ]; then
echo "Unable to locate cassandra class files" >&2
exit 1
fi
@@ -31,7 +31,7 @@ if [ ! -e $cwd/../build/word_count.jar ]; then
fi
CLASSPATH=$CLASSPATH:$cwd/../build/word_count.jar
-CLASSPATH=$CLASSPATH:.:$cwd/../../../build/classes
+CLASSPATH=$CLASSPATH:.:$cwd/../../../build/classes/main
for jar in $cwd/../build/lib/jars/*.jar; do
CLASSPATH=$CLASSPATH:$jar
done
diff --git a/contrib/word_count/build.xml b/contrib/word_count/build.xml
index ed68323e2f..6b81679425 100644
--- a/contrib/word_count/build.xml
+++ b/contrib/word_count/build.xml
@@ -20,7 +20,7 @@
-
+
diff --git a/test/cassandra.in.sh b/test/cassandra.in.sh
index 1a2d66d9de..0eaac7a012 100644
--- a/test/cassandra.in.sh
+++ b/test/cassandra.in.sh
@@ -21,7 +21,7 @@ CASSANDRA_CONF=$cassandra_home/test/conf
# This can be the path to a jar file, or a directory containing the
# compiled classes. NOTE: This isn't needed by the startup script,
# it's just used here in constructing the classpath.
-cassandra_bin=$cassandra_home/build/classes
+cassandra_bin=$cassandra_home/build/classes/main
#cassandra_bin=$cassandra_home/build/cassandra.jar
# The java classpath (required)