diff --git a/CHANGES.txt b/CHANGES.txt
index ab1a0e78a8c..bf3e20c7533 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -346,6 +346,8 @@ Release 0.21.0 - Unreleased
HBASE-2576 TestHRegion.testDelete_mixed() failing on hudson
HBASE-2581 Bloom commit broke some tests... fix
HBASE-2582 TestTableSchemaModel not passing after commit of blooms
+ HBASE-2583 Make webapps work in distributed mode again and make webapps
+ deploy at / instead of at /webapps/master/master.jsp
IMPROVEMENTS
HBASE-1760 Cleanup TODOs in HTable
diff --git a/bin/hbase b/bin/hbase
index 0c1e1f69a9a..b5293b6b17d 100755
--- a/bin/hbase
+++ b/bin/hbase
@@ -105,21 +105,32 @@ CLASSPATH="${HBASE_CONF_DIR}"
CLASSPATH=${CLASSPATH}:$JAVA_HOME/lib/tools.jar
add_maven_deps_to_classpath() {
- f="/tmp/hbase-core-test-classpath.txt"
- ${MVN} -f core/pom.xml dependency:build-classpath -Dmdep.outputFile="${f}" &> /dev/null
- # Add tests classes
+ # The maven build dir is called 'target'
+ target="${HBASE_HOME}/target"
+ if [ ! -d "${HBASE_HOME}/target" ]
+ then
+ mkdir "${target}"
+ fi
+ # Need to generate classpath from maven pom. This is costly so generate it
+ # and cache it. Save the file into our target dir so a mvn clean will get
+ # clean it up and force us create a new one.
+ f="${target}/cached_classpath.txt"
+ if [ ! -f "${f}" ]
+ then
+ ${MVN} -f "${HBASE_HOME}/pom.xml" dependency:build-classpath -Dmdep.outputFile="${f}" &> /dev/null
+ fi
CLASSPATH=${CLASSPATH}:`cat "${f}"`
}
add_maven_main_classes_to_classpath() {
- if [ -d "$HBASE_HOME/core/target/classes" ]; then
- CLASSPATH=${CLASSPATH}:$HBASE_HOME/core/target/classes
+ if [ -d "$HBASE_HOME/target/classes" ]; then
+ CLASSPATH=${CLASSPATH}:$HBASE_HOME/target/classes
fi
}
add_maven_test_classes_to_classpath() {
# For developers, add hbase classes to CLASSPATH
- f="$HBASE_HOME/core/target/test-classes"
+ f="$HBASE_HOME/target/test-classes"
if [ -d "${f}" ]; then
CLASSPATH=${CLASSPATH}:${f}
fi
@@ -215,7 +226,7 @@ elif $in_sources_dir && [ "$COMMAND" = "shell-tests" ] ; then
add_maven_main_classes_to_classpath
add_maven_test_classes_to_classpath
# Start the tests
- CORESRC="${HBASE_HOME}/core/src"
+ CORESRC="${HBASE_HOME}/src"
CLASS="org.jruby.Main -I${CORESRC}/main/ruby -I${CORESRC}/test/ruby ${CORESRC}/test/ruby/tests_runner.rb"
elif [ "$COMMAND" = "master" ] ; then
CLASS='org.apache.hadoop.hbase.master.HMaster'
diff --git a/pom.xml b/pom.xml
index d14bad6a25e..53bbd6456ac 100644
--- a/pom.xml
+++ b/pom.xml
@@ -292,6 +292,7 @@
org/apache/jute/**
org/apache/zookeeper/**
+ **/*.jsp
@@ -599,6 +600,17 @@
jasper-runtime
${jasper.version}
+
+
+ tomcat
+ jasper-compiler
+ ${jasper.version}
+
org.jruby
diff --git a/src/assembly/bin.xml b/src/assembly/bin.xml
index 2705c0bdd05..79d24955af4 100644
--- a/src/assembly/bin.xml
+++ b/src/assembly/bin.xml
@@ -33,6 +33,13 @@
*.jar
+
+ target/classes/webapps
+ webapps
+
+ **/*.jsp
+
+