An Emacs package with helper functions to make java development easier
Find a file
2025-11-08 07:44:56 +01:00
screencasts feat: add README 2025-11-08 07:42:23 +01:00
java-helper.el feat: add README 2025-11-08 07:42:23 +01:00
README.md fix: add installation instructions 2025-11-08 07:44:56 +01:00

Emacs Java Helper

A collection functions to help manage Java projects in Emacs.

Motivation

I never could get used to other editors/IDEs, so I am in my Emacs working on code for different languages, including Java. While LSP modes such as lsp-mode and eglot provide a lot of functionality already, there is still room to make things easier.

Installation

Manual

Clone the repository and add the package to your load-path.

(add-to-list load-path "path-to-package")
(require 'java-helper)

Doom Emacs

In package.el:

(package! java-helper :recipe (:host nil :repo "https://forge.arjenwiersma.nl/arjen/java-helper"))

In your config.el:

(use-package! java-helper)

Functions

Add a dependency

Add a dependency

Adding a dependency to a Maven pom.xml for me was going to the mvnrepository website, looking up the artifact and then copying the XML snippet for that dependency. With the java-helper-mvn-add-dependency function you can interactively browse the entire repository and select a version for insertion.

It does this by looking at the directory listing at https://repo1.maven.org/maven2 and then recursing into the subdirectories until you find a maven-metadata.xml file. This file provides the information about the latest and release versions, which are shown with all the other available versions.

Contributing

I am self-hosting my forge, I do this to get some digital autonomy. This means that this project is not hosted on github or any other public forge. As it is not publicly available (you can not make accounts) I can only collaborate with people who I give an account on my devbox (currently 0 people). So my collaboration proces is as follows:

  • If you have a question or feature request (like Ted) drop me a line on Mastodon or Bluesky.
  • If you have a patch to share, send me a patch. Send me a heads-up through Mastodon or Bluesky first.