Thanks to maven, building HBase is pretty easy. You can read about the various maven commands in Section 16.8, “Maven Build Commands”, but the simplest command to compile HBase from its java source code is:
mvn package -DskipTests
Or, to clean up before compiling:
mvn clean package -DskipTests
With Eclipse set up as explained above in Section 16.2.1, “Eclipse”, you can also simply use the build command in Eclipse. To create the full installable HBase package takes a little bit more work, so read on.
You may need to change the protobuf definitions that reside in the hbase-protocol module or other modules.
The protobuf files are located in hbase-protocol/src/main/protobuf. For the change to be effective, you will need to regenerate the classes. You can use maven profile compile-protobuf to do this.
mvn compile -Dcompile-protobuf or mvn compile -Pcompile-protobuf
You may also want to define protoc.path for the protoc binary
mvn compile -Dcompile-protobuf -Dprotoc.path=/opt/local/bin/protoc
Read the hbase-protocol/README.txt for more details.
If you see
Unable to find resource 'VM_global_library.vm', ignore it.
Its not an error. It is officially ugly though.
-Dsnappy to trigger the snappy maven profile for building
snappy native libs into hbase. See also Section C.5, “