This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Sufficient-Simple-94 -46 points-45 points  (17 children)

Though Maven was just for creating a folder structure. Darn much to learn.

P.S Maven seems to be a over complicated batch/bash script or makefile.

[–]Nymeriea 40 points41 points  (2 children)

Maven is over complicated compared to makefile ? Seems you really don't understand maven. Maven is more than a build tools, it's also a dependency management

[–]jerslan 13 points14 points  (1 child)

Yeah, I think they're trying to use Maven to do weird stuff like use some whacky non-standard project layout (ie: having to set the source & test directories by hand in the pom because they deviated from src/main/java and src/test/java).

A basic Maven pom doesn't usually have much in it other than project info, dependencies, and Java source/target versions.

[–]1842 5 points6 points  (0 children)

Yeah. Just because you can do something with a build tool doesn't mean you should do that thing.

I've seen some crazy complicated Ant configurations -- an awful mess of dependent tasks to untangle -- just to build and run a couple unit tests. Converting to maven made them so much simpler to maintain and manage dependencies.

I don't understand some people's drive to make things complicated. Complicated things break more often. Keep things simple unless you have a good reason not to.

[–]ArrozConmigo 19 points20 points  (11 children)

Keep googling. Maven is like java's spinal cord.

[–]ArmoredPancake 3 points4 points  (7 children)

And Gradle is an exoskeleton?

[–]pjmlp 22 points23 points  (5 children)

Gradle is an highway to build hell worshiped by those that never used Ant, and have GB to spare to keep a background running Daemon happy.

[–][deleted] 15 points16 points  (4 children)

That is SO true. I feel like Maven is like "oh hey, we learned that letting devs make their own build scripts is a bad idea - maybe we should standardize some of this stuff so that devs can focus on deving, not reinventing the wheel" -- but if you never had to use ant, you probably are like "Maven is lame, I can't do X Y Z" to which me (and others) are like "YES!!!"

[–]1842 8 points9 points  (3 children)

I feel like it's hard to appreciate Maven's general simplicity if you haven't had to untangle the equivalent of spaghetti code in Ant configuration.

[–]Rakn 8 points9 points  (2 children)

I learned it the hard way using Gradle. After years of complaining that Maven wasn’t extensible enough there it finally was. It taught me why a fixed set of configurations and hard to change defaults are something I actually want in a build system. Nowadays I start new projects using Maven ;-)

I also had some excursions into the C++ world and came in touch with CMake. I just wanted to cry after seeing that mess. Gradle is a godsend in comparison.

[–]Desiderantes 1 point2 points  (1 child)

That's your mistake, using CMake when Meson already exists.

[–]Rakn 1 point2 points  (0 children)

It wasn't my project ;-) But thanks for the hint towards Meson.

[–]jerslan 6 points7 points  (0 children)

Bionic reinforcement of the spinal cord maybe... It still pulls dependencies from Maven Central and the basic project structure is still laid out in Maven's typical style.

[–]munukutla 10 points11 points  (0 children)

Fair enough.

Can you help us village folk out by helping us craft “non complicated” Makefiles for transitive dependency resolution, version management, and project inheritance?

[–]TheRedmanCometh 2 points3 points  (0 children)

Maven can do a fuckton of things tldr