Skip to content

Instantly share code, notes, and snippets.

@medwards
Last active December 22, 2015 19:49
Show Gist options
  • Save medwards/6521668 to your computer and use it in GitHub Desktop.
Save medwards/6521668 to your computer and use it in GitHub Desktop.
JAVA_THINGS_TODO.md

Objective

Zero Eclipse Development (ZED)

ctags

In .vimrc:
autocmd FileType java set tags=tags,~/.tags_java

Generate Java ctags by finding /usr/lib/jvm/java-7-oracle/src.zip and unpacking to /usr/src/java-7-oracle and then ctags -R --language-force=java -f.tags_java /usr/src/java-7-oracle

Debugging

With Maven you can use mvnDebug or mvn -Dmaven.surefire.debug which will kindly wait for a debugger to attach (jdb -attach 8000 or 5005, etc). Followed by stop at some.package.spec.Class:<linenumber> and then run. Unit tests (ie the test goal) don't seem to respect jdb when using mvnDebug so the alternative is recommended. It may be more useful for other goals. Don't forget to give jdb a good sourcepath as -sourcepath . from your root doesn't seem to cut it. Try to use a src folder.

Colours

.bash_aliases

# thanks to: https://gist.github.com/katta/1027800
# and:  http://blog.blindgaenger.net/colorize_maven_output.html
# and: http://johannes.jakeapp.com/blog/category/fun-with-linux/200901/maven-colorized
# Colorize Maven Output

alias maven="command mvn"
# Formatting constants
export BOLD=`tput bold`
export UNDERLINE_ON=`tput smul`
export UNDERLINE_OFF=`tput rmul`
export TEXT_BLACK=`tput setaf 0`
export TEXT_RED=`tput setaf 1`
export TEXT_GREEN=`tput setaf 2`
export TEXT_YELLOW=`tput setaf 3`
export TEXT_BLUE=`tput setaf 4`
export TEXT_MAGENTA=`tput setaf 5`
export TEXT_CYAN=`tput setaf 6`
export TEXT_WHITE=`tput setaf 7`
export BACKGROUND_BLACK=`tput setab 0`
export BACKGROUND_RED=`tput setab 1`
export BACKGROUND_GREEN=`tput setab 2`
export BACKGROUND_YELLOW=`tput setab 3`
export BACKGROUND_BLUE=`tput setab 4`
export BACKGROUND_MAGENTA=`tput setab 5`
export BACKGROUND_CYAN=`tput setab 6`
export BACKGROUND_WHITE=`tput setab 7`
export RESET_FORMATTING=`tput sgr0`
# Wrapper function for Maven's mvn command.
color_maven()
{
        # Filter mvn output using sed
        maven $@ | sed -e "s/\(\[INFO\]\ \-.*\)/${TEXT_BLUE}${BOLD}\1/g" \
        -e "s/\(\[INFO\]\ \[.*\)/${RESET_FORMATTING}${BOLD}\1${RESET_FORMATTING}/g" \
        -e "s/\(\[INFO\]\ BUILD SUCCESSFUL\)/${BOLD}${TEXT_GREEN}\1${RESET_FORMATTING}/g" \
        -e "s/\(\[WARNING\].*\)/${BOLD}${TEXT_YELLOW}\1${RESET_FORMATTING}/g" \
        -e "s/\(\[ERROR\].*\)/${BOLD}${TEXT_RED}\1${RESET_FORMATTING}/g" \
        -e "s/Tests run: \([^,]*\), Failures: \([^,]*\), Errors: \([^,]*\), Skipped: \([^,]*\)/${BOLD}${TEXT_GREEN}Tests run: \1${RESET_FORMATTING}, Failures: ${BOLD}${TEXT_RED}\2${RESET_FORMATTING}, Errors: ${BOLD}${TEXT_RED}\3${RESET_FORMATTING}, Skipped: ${BOLD}${TEXT_YELLOW}\4${RESET_FORMATTING}/g"
        # Make sure formatting is reset
        echo -ne ${RESET_FORMATTING}
}
alias mvn=color_maven
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment