git clone 'git://github.com/apgwoz/mvn-el.git'
By Andrew Gwozdziewycz, licensed under the GNU GPLv3
This is a few helpers for using compilation mode in Emacs with maven.
If you're maven is in a nonstandard location,
(setq mvn-command "/path/to/ant -emacs")
If you're build doesn't use “pom.xml”, you'll need to modify
mvn-command to end with with
--file and also do
(setq mvn-build-file-name "somethingelse.xml") so that the automated project root discovery works correctly.
Put mvn.el in your
load-path and add
(require 'mvn) to your .emacs
The basic operation is to invoke
M-x mvn, which will ask you for a goal.
M-x mvn-last will re-issue the last command
M-x mvn-compile will run the standard
M-x mvn-clean will run the standard
M-x mvn-test will run the standard
mvn can be called non-interactively too, in which case it's called as such:
(mvn "sometask"). This means that you can can define your own functions like
mvn-compile for your projects:
(defun mvn-compile-full () (interactive) (mvn "dependency:sources"))
M-x mvn-kill-cache kills the internal cache used to speed up the auto-completion of ant tasks in the mini-buffer.
In the future, I'd really like to build a more general mode for working with Java code–something like malabar-mode, but without a lot of the semantic stuff it does. Minimal requirements:
1. It needs to support navigation really well (jtags does a decent to good job here) 2. It needs to be able to find code in source jars (if available) 3. It needs to have a built in way to launch a REPL (clojure, jython, sisc) for experimental programming purposes 4. Run test at point/file 5. List possible maven goals