Skip to content

[FEATURE REQUEST] Maven Package Manager Support #4129

@BullyWiiPlaza

Description

Please confirm these before moving forward.

  • I have searched for my feature proposal and have not found a work-in-progress/duplicate/resolved/discarded issue.
  • This proposal is a completely new feature. If you want to suggest an improvement or an enhancement, please use this template.

Describe the new feature

Maven is the most commonly used package manager for Java libraries, just like vcpkg for C++ and cargo for Rust. The last two are already supported in UniGetUI. Was maven already considered or can it be implemented maybe similar to Python pip showing which library has a newer version available? The difference between pip and maven is that you specify which version of a library you want to use in the pom.xml file on a project basis and the used libraries aren't automatically updated to the latest version, unless the pom.xml file specifies it accordinly with e.g. LATEST as the version etc.
Maven will also automatically update dependencies when using LATEST as the version when building a project which however is considered bad practice since always using latest library versions can cause unintended side-effects from a library being updated without the developer's knowledge and somehow suddenly behaving differently.

Describe how this new feature could help users

It could help automate downloading the latest package versions in the .m2 folder/repository. UniGetUI could show users of maven packages if there's an update available in an automated way for each available library package inside the .m2 folder. After seeing which packages have updates, a developer can then put the new version numbers into the pom.xml file of Java projects (manually) to upgrade them respectively for each project. Maven has a command to check for updated versions but it seems to only be usable on a per project basis, not globally. Also, this command can be slow if there are many transitive dependencies, e.g. when using bigger frameworks.

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions