5 ms·
No I want to use the command line. https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html https://maven.apache.org/guides/getting-started/m
by rapsey 10y ago
No I want to use the command line.
https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html https://maven.apache.org/guides/getting-started/maven-in-fiv...
Maven quick start first command:
> mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
Then it generates stupidly deep Java structure.
and next you have to write a verbose xml. They even say:
> The POM is huge and can be daunting in its complexity
All of this stuff is verbose and built to be generated by IDEs. It's not clear, it's not concise.
- sgift 10y ago> The POM is huge and can be daunting in its complexity Because they are honest. Maybe it is because I'm more accustomed to poms, but the package.json/babelrc mix and webpack.config.jsons are daunting to me too.
- rapsey 10y agoWeb ecosystem is a mess as well. What I meant was Rust, Elixir, Erlang build/project files. Those are trivial.
- dm3 10y agoYou don't have to use maven directly. Something like https://github.com/bodar/jcompilo https://github.com/bodar/jcompilo would be much simpler and faster for a small project.
- rusk 10y agoMaven is a "bad example" - it's horrible. Everybody agrees.
- therpe1 10y agoMaven is great. Not perfect but it's far better than the alternatives. And every single time I've seen somebody come along and insist they have a better alternative the result is always worse or requires significant custom development. As for the idea that Java IDEs like Eclipse and IntelliJ are these "big heavy tools" -- it's just silly and outdated. It might've been true 15 years ago. (Flashback to 2004 and getting a cup of coffee while Eclipse starts.) These days Eclipse and IntelliJ launch instantly and feel just as lightweight as the command line. I'm often running multiple IDEs at the same time with no performance impact. Any Java shop that's any good doesn't depend on an IDE. The idea that you can't do anything without an IDE is wrong. A team doing continuous integration and deployment is damn well going to make sure that everything that needs to be done can be done from the command line. Nobody cares what you use to edit code on your own computer as long as you don't use tabs!
- lmm 10y ago> Then it generates stupidly deep Java structure. It generates enough structure to scale up to reasonable projects. The nesting is a price well worth paying for consistency. Every maven project puts its source in the same structure, with the result that you can jump into any project and know how its build will work and where to find the source. > All of this stuff is verbose and built to be generated by IDEs. It's not clear, it's not concise. Verbose is worth it for clarity, particularly in a file you edit rarely. It may not be concise but it absolutely is clear, as the example from your own link shows.
- rapsey 10y ago> It generates enough structure to scale up to reasonable projects. It generates stupidly deep structure because Java requires a stupidly deep structure. > Every maven project puts its source in the same structure, with the result that you can jump into any project and know how its build will work and where to find the source. Rust, Elixir and Erlang achieve this with tooling that is practically trivial to use. Without an IDE. > Verbose is worth it for clarity, particularly in a file you edit rarely. Being concise is a big factor in clarity.
- lmm 10y ago> It generates stupidly deep structure because Java requires a stupidly deep structure. All of the depth is useful. The folder structure corresponding to the package structure makes it much easier to find the source for something. > Being concise is a big factor in clarity. True when there is large-scale structure that varies for the reader to comprehend. Less important in an inert declarative structure. Again, look to the example you linked.
- lawik 10y agoI'm sure the tooling is useful and a lot of it reasonable. I've never approached a Java project that I did not find intimidating, either Android with all the Gradles and XML. I've never seen a barebones project as you would when using just node+npm without all the extra tooling (webpack and friends). Node+npm is to me as simple as python+pip. Is there a natural counterpart, Java+maven or something? And to be fair. All my attempts at approaching webpack have been even worse. And most JS-framework seed projects are similarly complex and automagical.
- _pmf_ 10y ago> mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false Ah, I can see how this is much more complicated than the good old npm install webpack babel-loader babel-core babel-preset-es2015 babel-preset-react --save-dev