Hello, Maven! #30
Replies: 2 comments 4 replies
-
I was already thinking about a website like https://start.spring.io or https://start.microprofile.io That goes in a similar direction. |
Beta Was this translation helpful? Give feedback.
-
@rmannibucau Let me explain: The current process is broken. Maven out of the box doesn't provide an easy, coherent and correct way to start a project. A set of blessed and maintained archetypes might help, but I don't know of any at the moment. Archetypes add complexity. I am trying to remove complexity. Maven is a CLI tool. I do a lot of terminal work. I can do everything: source control, building, reporting. The very basic thing I can't do is create a project. I would like to have an easy way to do that. Yes, the IDE already provides a lot of things. But I don't want to tie my build lifecycle to an IDE. We have been there. Maven was the way out. Lastly, everyting is opiniated. Maven is an opiniated tool. It came with a standard directory layout for example. |
Beta Was this translation helpful? Give feedback.
-
Maven and Java development goes hand in hand. Maven is an essential tool for developing software with Java. If you are new to Java, you will probably encounter Maven very early in your learning path. Programming languages use "Hello, world!" to introduce themselves to a new audience. Build systems (I know Maven can do more) should use the same approach. I would like to suggest an easier way to create new projects from scratch.
This is the current way to create a project with Maven:
This command is not intuitive and takes quite a few parameters. A beginner with Maven has no idea what all these parameters are. I doubt even an experienced Maven user knows the parameters by heart.
The output after running the command:
Again, new Maven user won't be able to make any sense of this. It is a lot of information to take in. I would argue that the verbosity is more confusing than helpful. For example it says: BUILD SUCCESS. What did it build? All I wanted to do was create a project. Side note: if this is the first time Maven downloads additional dependencies.
My last point: I doubt the project is even usable. It is full of outdated dependencies. JUnit 4.11, Maven Compiler Plugin 3.0.8 and so fourth.
Things to improve on:
Examples from other programming languages / build tools:
Rust and Cargo
Node and npm
Go
Beta Was this translation helpful? Give feedback.
All reactions