Skip to content

concon121/atom-maven

Repository files navigation

atom-maven package

Build Status Codacy Badge Code Climate Issue Count Downloads

Maven integration for atom!

Generates module specific .classpath files based on the Maven pom files in your Atom workspace.

Features

Feature Status
Configures the classpath for every Maven module in your workspace.
Automatically update the classpath when you update your pom files.
Build the Maven projects in the workspace on save.
Build the Maven project via user interaction with the UI.
Notification when your classpath has been configured.
Notification when a duplicate dependency definition has been identified.
Notification when a dependency does not exist.
Link to the location of erroneous dependencies.
Identify when a new pom file is added into the workspace and bind the change event to it.

310516

Using the UI Features

There are two method of using atom-maven from the UI; from the Packages menu, and from the command palette.

Packages menu

packages-menu

Command Palette

command-palette

Known Issues

  • The notification which informs you that a dependency doesn't exist always points to line 0.

Configuration

It is required that Apache Maven is correctly installed on your computer and is ready to use on the command line.

Please see the Maven website for installation instructions.

Configuration Key Required / Optional Description
classpathFileName Optional The name of the file to write your classpath to in your Maven module.
generateClasspathsOnStartup Optional Build all maven pom files on Atom start up and create classpaths for each.
generateClasspathsOnSave Optional Watch maven pom files for save events and create classpath when the pom changes.

What's new?

Checkout the changelog for the full list of recently implemented features and bug fixes.

Backlog and Issues

The complete list of features which needs to be implemented, future enhancements, known issues and bugs can be found on the atom-maven GitHub repository issues page.

Contributing

Contributions are always welcome, there is still a lot of work to be done! Feel free to pick up an issue in the backlog and open a pull request to get the conversation going. I am more than happy to provide help and direction, and very welcoming of advice and suggestions.

Raising Issues

If atom-maven is not resolving your classpath correctly, it is really useful for debugging purposes if you could provide sample pom files which I can use to reproduce your issue.

What can I use atom-maven for?

I started developing atom-maven as I wanted to be able to write my Java code in Atom. There are a couple of packages I found which make this easier, but they depend on a .classpath file being configured. As a user of Maven, Maven configures your classpath and makes sure all your dependencies are available when you need them to be. The atom-maven package replicates this functionality and generates the .classpath file other Atom Java packages need, based on your Maven pom files!

Useful Java Packages

autocomplete-java

Capable of reading the generated .classpath file, this package provides functionlity to organise imports, complete packages and classes, examine methods etc...

Note. git ignored .classpath files are not discovered.

linter-javac

Capable of reading the generated .classpath file, this package will attempt to compile your .java files and show you all the compile time problems with your code.

Kudos

Kudos to the following, for making my life easier!