Build and dev tooling
Maven
sudo apt install maven
mvn compile
mvn test
mvn package # build the jar/war
mvn install # install into the local repository (~/.m2)
mvn clean
mvn PHASE -DskipTests # skip running tests
# -P activates a profile
See the Spring Boot Maven notes for the lifecycle in detail.
autoconf / automake
Bootstrapping an Autotools project from configure.ac and Makefile.am:
aclocal # gather the M4 macros configure.ac needs
autoconf # generate ./configure from configure.ac
autoheader # generate config.h.in
mkdir build-aux
touch NEWS README AUTHORS ChangeLog # files GNU conventions expect
automake --add-missing --copy # generate Makefile.in from Makefile.am
./configure
make
The order matters: aclocal first (so the macros exist), then autoconf and
autoheader, then automake. Running automake before its macros are gathered
fails with missing-definition errors.
Tomcat
sudo tar xzvf apache-tomcat-9*.tar.gz -C /opt/tomcat --strip-components=1
To load extra jars from a custom directory, Tomcat needs to be told about it —
it does not scan arbitrary folders. Add the path to common.loader in
${catalina.home}/conf/catalina.properties:
common.loader="...",${catalina.home}/lib/ext/*.jar
After that, jars in lib/ext are on the shared class loader at start-up.
Eclipse
Running and debugging are slow → uninstall the ANSI Escape in Console plug-in. See the Tools page for more Eclipse notes.
Logwatch
Logwatch analyses system log files and mails a summary to the relevant people; it is customisable. Its mail feature relies on the host's own mail server (sendmail, Postfix, Qmail, …), so one must be installed for delivery to work.