Matt RaibleMatt Raible is a Web Developer and Java Champion. Connect with him on LinkedIn.

The Angular Mini-Book The Angular Mini-Book is a guide to getting started with Angular. You'll learn how to develop a bare-bones application, test it, and deploy it. Then you'll move on to adding Bootstrap, Angular Material, continuous integration, and authentication.

Spring Boot is a popular framework for building REST APIs. You'll learn how to integrate Angular with Spring Boot and use security best practices like HTTPS and a content security policy.

For book updates, follow @angular_book on Twitter.

The JHipster Mini-Book The JHipster Mini-Book is a guide to getting started with hip technologies today: Angular, Bootstrap, and Spring Boot. All of these frameworks are wrapped up in an easy-to-use project called JHipster.

This book shows you how to build an app with JHipster, and guides you through the plethora of tools, techniques and options you can use. Furthermore, it explains the UI and API building blocks so you understand the underpinnings of your great application.

For book updates, follow @jhipster-book on Twitter.

10+ YEARS


Over 10 years ago, I wrote my first blog post. Since then, I've authored books, had kids, traveled the world, found Trish and blogged about it all.

Why doesn't AppFuse use Maven?

My newest reply for why AppFuse doesn't use Maven is going to be this link. Ant rocks. I still need to update AppFuse's build.xml to use all the Ant 1.6 stuff - that's scheduled for next week's late nights.

Posted in Java at Feb 17 2005, 10:38:30 PM MST 9 Comments
Comments:

Maybe one more reason: ANT based projects are usually "self contained", i.e. everything to build is there.
The most frustrating experience for all new the users that try to build a project is that maven tries to go on Internet and download the files. A user with no Maven knowledge won't be able to disable this download. And now comes the best: this download thing is supposed to be a good thing. IT IS NOT. If you just test (on a new computer - so no caches) a lot of the open source projects, at least in 40% of them one JAR is missing, so one needs to download it manually.<p/> If one wants to use the project to learn a little - so it will use an IDE, the sources and javadocs for those JARs must be downloaded too, so the "maven automatic download", didn't helped again. Even worst, one must build it first to find out what's required :). I've seen this problem again and again, and maybe this could explain why maven has this "hate/love" user splitting. The users that just in the beginning experience such problems will hate maven.<p/> The last reason: if ANT does every aspect of the build process so good (with excellet IDE support), why use something else? Just for those ugly "maven generated sites" :)? Just look at those open source sites generated with maven: - they all look the same, are ugly and contain no real information: just a lot of links with empty pages. Of course there are exceptions from the rule, and one could fill those pages with information, but mostly it's not so.

Posted by Jake Robwood on February 18, 2005 at 12:15 PM MST #

Anyone using Maven seriously has their own Maven repository for jars that cannot be downloaded anonymously (j2ee etc). A Maven build on a new workstation at our company is completely hands free. For me Maven is like Python. The good thing about it is the way it forces standards down your throat. I find that the project I end up with is more maintainable because of this, but some people don't like the strait-jacket of having to do things "The Right Way".

Posted by Caoilte on February 18, 2005 at 01:14 PM MST #

New users, and new computers don't have repositories. A lot of users study open source projects on laptops on the way/home (in their free time). In all those cases the fact that maven projects are not "self contained" is a big disadvantage. If AppFuse were that way, I would never use it.
For me Maven is like Python too :). I don't need it, and IMHO, VERY talented people behind it, instead of improving existing things, "dilute the scene"/"loose time reinventing the wheel" :).
A word about enforcing things "down your throat": standards are a VERY good thing, but only for the things that need to be standard. Otherwise you have communism :). Creativity is however about "not thinking in an enforced way", and I have all the time the impression that maven forces me to do things. ANT on the other side works how I want, and not vice versa.

Posted by Jake Robwood on February 18, 2005 at 01:42 PM MST #

running,

<kbd>maven build:start</kbd>

before the laptop is disconnected from the internet will make sure the local repository is setup correctly.

Posted by caoilte on February 18, 2005 at 02:06 PM MST #

I completely agree and did the Ant-Maven-Ant thing about a year ago. You lose too much, and gain to little using Maven (IMHO). Giving up tool support like IDEA for Ant, having to know only a single language (Ant XML syntax), and simplicity of Ant is too much to ask. Besides, Erik Hatcher hasn't written a book about Maven yet. :)

Posted by Patrick on February 18, 2005 at 03:54 PM MST #

Matt, It would be great to extend AppFuse Started App such that the it provides a JAR Project (that is along the lines of Java Project), WAR Project (as in a Tomcat WebProject) and provide ant build file templates to develop a project as separate component JARs. That would really take out a week of development effort from the AppFuse users!! Is this possible with current AppFuse?

Posted by Chakra Yadavalli on February 18, 2005 at 04:11 PM MST #

I second Chakra, having a multiproject version of Appfuse with business logic and data access in a separate project would be great! The single project version is fine for expirementation but I feel for anything bigger than a personal web project, it's too much in one project. Then again having a multiproject version of Appfuse would make the learning curve steeper and might turn new users off...

Posted by Todd Huss on February 18, 2005 at 06:10 PM MST #

I love maven. When it comes to complete integration maven and ant stands out. But i am waiting for maven2.0 and my own build-release tool to solve my integration issues.

Posted by sree on July 20, 2005 at 08:57 AM MDT #

I think,.. java is multiplatform.. unix is some kind of internet standard like tcp/ip.. think simple, not pre-build, simple tasks, ant is more like unix, maven is more like productos, i prefere be freedom, not waiting for product release, the power of build.

Posted by Maximiliano on August 09, 2006 at 02:21 AM MDT #

Post a Comment:
  • HTML Syntax: Allowed