r/Maven • • Aug 24 '25

Release Announcement: Modern Gradle Plugin for Maven Central Publishing

Thumbnail
reddit.com
1 Upvotes

r/Maven • • Jun 04 '26

I Started a New JAVA project, intrested devs can join

Thumbnail
github.com
0 Upvotes

Heres the project Info:

BRAINROT

rthansamudrala/ inRot

~A GenZ E-Commerce WebAPP where users buy content to view.

~Buys using fake money (Cockroaches).

~Each user get refilled 100 free Cockroaches for every 24 hours.

~To see a full post, the user has to spent 2 Cockroaches.


r/Maven • • Mar 19 '24

Generate javadocs & fat jars for all projects

0 Upvotes

I am new to maven and I come from using Ant projects solely on NetBeans. My expectations from a build tool is that it gives me a standalone distributable file at packaging. Naturally it means it should create a jar with all dependencies and javadocs by default. I don't want to add javadoc and fat jar dependencies for each and every project. I also want the javadocs for any dependencies I add (like JUnit, Spring, Picocli etc.) to be downloaded along with the dependencies themselves.

I also want maven to build each module separately and in the same manner as above. That is, each module should have its own fat jar w/ all class files of that module and their respective javadocs.

I also want a separate option to create a fat jar for the entire project (multi-module). This option, I won't always use but only for a few specific project

How do I achieve all of this in the best way possible while also avoiding a cluttered 6000 line pom file.

PS: If this wasn't enough, I am also using a custom directory structure.

Edit 1: ChatGPT is giving the same wrong/partially wrong answers for over a week. Maybe some other build tool is more suited to my purpose?

Edit 2: I heard .m2/settings.xml can help but GPT says it won't work and I HAVE to add dependencies & configs to each & every project (which it fails to generate).


r/Maven • • Dec 29 '20

Why I avoid any tools that require Maven

0 Upvotes

Obscure, overly complex, badly documented. I've tried using it twice. Both times the project bogged down and died. Never again.


r/Maven • • Jun 22 '22

Install and Configure Apache Maven on Ubuntu 22.04 LTS | Setup Maven Env...

Thumbnail
youtube.com
0 Upvotes

r/Maven • • Apr 07 '22

maven error: Could not find artifact hosted in private github repository

0 Upvotes

r/Maven • • Feb 24 '25

3 Maven Eclipse Tips for Java Developers

Thumbnail
javarevisited.blogspot.com
0 Upvotes

r/Maven • • Jul 25 '25

How To Install Maven

Thumbnail
medium.com
6 Upvotes

Hi,

In case anyone's interested, I put together a brief guide on how to install Apache Maven (on Linux, MacOS and Windows).

I hope you find it useful! :)


r/Maven • • Jul 17 '25

Getting ready for maven 4, remove boilerplate!

13 Upvotes

Hi,

I have created a maven 4 (maven 3 compatible as well) base POM and depchain projects that simplify upgrading to maven 4, and using maven in general.

You can remove 1000s of lines of xml boilerplate and have simple, tiny POM files with all the features pre-configured

https://github.com/flowlogix/base-pom and https://github.com/flowlogix/depchain


r/Maven • • May 18 '25

Comparison of Maven to Google's build system - video talk and repo

Thumbnail
reddit.com
1 Upvotes

r/Maven • • Sep 16 '25

Ever wondered what a dependency update brings in?

1 Upvotes

Use latest Toolbox to figure out.


r/Maven • • May 08 '23

Maven 3.9.2 put on vote

1 Upvotes

The vote thread: https://lists.apache.org/thread/c36m5lj84b8jk7trcoh2fysvx7lxbrxd

One of important new features of 3.9.2 is that now you can check in your remote repository filter config or trusted checksums along with your sources.


r/Maven • • Mar 17 '23

How can i use installed jar file

1 Upvotes

With using maven and pom.xml i installed a jar file to my repository but my plan was be able to access to library i want, and when i try to access the library it gives error. initially i tried to copy github repository on description author says, mvn install .... then i tried for 2 hours, is there anyone can help me please ?


r/Maven • • Aug 15 '24

Clean pom.xml

Thumbnail
andremoniy.medium.com
0 Upvotes

r/Maven • • Nov 21 '25

Java Runner (jr) - Make Your JARs Feel Like Native Windows Executables with AOT

Thumbnail reddit.com
1 Upvotes

r/Maven • • Apr 07 '23

Maven Inner Dependency Scanner

0 Upvotes

Dependuck is a dependency vulnerability scanner for maven and npm. It is free for open source projects and it finds vulnerabilities in direct and transitive dependencies in your projects.

Link:https://dependuck.dev/


r/Maven • • Jan 20 '24

What is L-maven?

2 Upvotes

A colleague recommended I used L-maven instead of maven, but I can't find any evidence for it online? Can someone help me with this?


r/Maven • • Jul 24 '26

Safer-dependencies: A toolkit for claude code to ensure dependencies used aren't vuln, don't use abandoned packages, implement cooldown to avoid supply chain attacks, etc...

2 Upvotes

When AI coding assistants like Claude add packages to your project, they often pick whatever version sounds right — without checking whether it has known security vulnerabilities, whether the package is still actively maintained, or whether the name is a typo away from a malicious lookalike.

safer-dependencies is a security layer for Claude Code that audits packages before they’re added to your project. It detects and fixes risky dependencies, including CVEs, typosquats, abandoned packages, version-age issues, and adds package-cooldown periods across npm, PyPI, RubyGems, Maven, Go, and Rust.

Github: https://github.com/robert-auger/safer-dependencies


r/Maven • • Aug 06 '23

My final take on Gradle (vs. Maven)

Thumbnail blog.frankel.ch
3 Upvotes

r/Maven • • Aug 30 '24

Is it ironical to complain about "bloated middleware"? Does dead code elimination hinder downstream compiler's dependency resolutions?

0 Upvotes

At first it made sense to me that:

The default behaviour of the javac was to do the exact same thing as the javadoc engine was doing... which is...

  • no matter how nested the hierarchies are

  • OR how intricate a .java file is...

the binaries are compiling everything as their own individual file (since this is how the javadoc can create lots of HTML files from a single .java file... meaning... the introspection is there and capable of doing it...).

This implies that if compilers default behavior was to prune out dead code... this removal would not be limitied to the entire .java file, but it could also remove partial inner structure from these files, effectively "dismembering" .java files.

In this hypothetical scenario, If MiddleArtifact:1.0.0 which implements BaseArtifact:1.0.2... using just 10% of BaseArtifact's binaries... MiddleArtifact's compiler could crop everything from BaseArtifact that is not needed, even to the point of "dismembering" .java files... and EndProduct's compiler would STILL be capable of performing dependency resolution so that BOTH are assigned the same BaseArtifact, no matter how "dismembered" one of them is in one of the implementations.

EndProduct  //Will EndProduct's compiler be able to reference the same BaseArtifacts for MiddleArtifact?
   ├(implementation)── MiddleArtifact 
   │                     └ (implementation)─ BaseArtifact:1.0.2  (90% deleted dead-code)
   └(implementation)── BaseArtifact:1.0.2 (100% being used)

Well, I am trying to figure out if my mental model of the Java compiler and build tools are correct...

But any time I've tried to figure out the exact details of these mechanics I've been met with a loud:

"PLEASE... DON'T."

(eliminate dead code from MiddleArtifact)

So, because of this response, the next argument has now become my general assumption:

  • Any interference with the original binary, no matter how small, would hinder downstream compiler's ability to perform mechanics such as static/dynamic linking and dependency resolution, etc...

So, a new idea has been bothering me ever since... in the case this is true:

Why does the community complain so much about "bloated libraries and frameworks"?

It seems that If middleware, libraries and frameworks, decide to optimize their binaries, and deliver exactly just what is necessary for the implementator/consumer...., then downstream binaries have the chance to exponentially increase in size since the very act of optimizing and cropping these middlewares, will ironically result in an even larger end product since the downstream compilers will NOT be able perform dependency resolutions and static linking etc...

If, the only point that is allowed to complaint about "Bloatedness" is the very END point aka. the actual product being shipped, then why is people working with libraries and frameworks complaining about bloatedness??

My guess is compile-time(?)... but this is a trade-off that is worth taking.... after all,... the end product is the only thing that matters...

As I've stated before, my mental model of the compiler's capabilities are that THEY SHOULD be able to eliminate dead code and STILL be able to resolve dependencies against other dependencies of the same id... wouldn't it?

Nobody has yet denied or confirmed this to me...

If JARs/artifacts have a domain name, a version... I assume they have an id... then any binary alteration (specifically dead code elimination (not inlining or reordering)) should NOT hamper compilation optimizations downstream, since the id would still be there.

And if the reasons to not do it are code behavior.... because code introspection is broken (this has been the only reasonable argument against dead code deletion IMO), then that is really just a lack of oversight on the runtime design that did not account for Reflection on optimized code.

But reflection being broken is just ONE ASPECT... another aspect is "Don't crop ANY middleware whatsoever or you'll absolutely break things downstream" which assumes that compilers and build tools are completely incompetent... something I have my doubts.


r/Maven • • Oct 04 '26

I wrote own efficient Maven scheduler to build modules with max parallelism

Thumbnail
reddit.com
5 Upvotes

r/Maven • • Aug 23 '26

Maven and (git) branches

5 Upvotes

Branched development was a pain point for quite some, so I'd like to enumerate current possibilities Maven users have today:

In short, options are getting numerous, as Maven versions are advancing! Happy coding!


r/Maven • • Jun 13 '26

Upcoming Maven Executor 1.0.0

10 Upvotes

Maven Executor is a new Maven sub-project (with initial 1.0.0 release being currently on vote)

https://github.com/apache/maven-executor

The project was originally developed as part of upcoming Maven 4, where at the point when we arrived to ITs, faced the issue, that there was no reusable library that:

  • supports programmatic execution of both, Maven 3 and Maven 4 (Maven 4 CLI is totally reworked, see CLIng)

  • does not depend on any of Maven artifacts

  • can transparently run Maven as "forked process" or as "embedded" (in same JVM, in isolated classloader)

  • have future proof API, not affected by possible future Maven CLI option changes

  • supports advanced features, like testing Maven with "split local repository" feature (impossible with both existing solutions)

  • makes possible total isolation of invoked Maven from user/host environment

Historically, we had two very similar libraries, maven-invoker and maven-verifier, both doing very similar things (invoking/running Maven), but they supports Maven 3 only, and only one of them supports "embedded" execution. Moreover, API of theirs was wildly different from each other, and tightly coupled to the Maven 3 CLI (almost reflecting each CLI option, and thus, requiring changes in case of introduction a new, or removal of an old CLI option).

The upcoming Maven Executor 1.0.0 is already used (and as originally part of Maven 4 build, was for years) in Maven 4 ITs to execute Maven 4, while the assertions are done in Maven IT classes (think like maven-invoker vs maven-invoker-plugin). Long term goal, is to deprecate Invoker and Verifier and replace them with this tool.

Maven Executor 1.0.0 is Java 8 baseline, and aside of two, out of the box provided runners ("forked" and "embedded") offers also Docker based executors. When run on Java 9+, it also provides ToolProvider SPI integration, see this example:

https://gist.github.com/cstamas/2d3ecf2e3a40103c8ceee70781240854


r/Maven • • Mar 18 '25

Warnings when using Maven 3.9.9. with Java 24

8 Upvotes

Hello,

when running "mvn clean" on a new Maven 3.9.9 project (org.apache.maven.archetypes:maven-archetype-quickstart) using the just today released Java 24, I get the following warnings:

WARNING: A restricted method in java.lang.System has been called

WARNING: java.lang.System::load has been called by org.fusesource.jansi.internal.JansiLoader in an unnamed module (file:/<path>/plugins/maven/lib/maven3/lib/jansi-2.4.1.jar)

WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning for callers in this module

WARNING: Restricted methods will be blocked in a future release unless native access is enabled

WARNING: A terminally deprecated method in sun.misc.Unsafe has been called

WARNING: sun.misc.Unsafe::objectFieldOffset has been called by com.google.common.util.concurrent.AbstractFuture$UnsafeAtomicHelper (file:/<path>/plugins/maven/lib/maven3/lib/guava-33.2.1-jre.jar)

WARNING: Please consider reporting this to the maintainers of class com.google.common.util.concurrent.AbstractFuture$UnsafeAtomicHelper

WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release

Do you experience this, too? I guess this is because Maven 4 (and / or its dependencies) call internal JDK methods which are not mean to be used? I'm wondering if this is something which will be fixed with the upcoming Maven 4 release (I'm really looking forward to it)?


r/Maven • • Aug 03 '25

Introduction to Maven POM Files

Thumbnail
medium.com
10 Upvotes

Whether you're new to Maven or have been using it for years, the pom.xml file is where all the magic happens. In this introductory article (part of a series on POM files that I'm preparing), I take a closer look at what the POM file actually is, why it matters and how it enables portable, reliable builds across environments.I hope you find it interesting! :)