A good friend of my is working on a cool project. A plugin for the Hibernate Persistence Framework. I am helping out with testing. And a couple days ago we had this discussion about how to get started with a project. I recommended to offer a Maven2 Archetype.
I asked Max if I can publish his E-Mail on my blog and take the conversation public. And here is his E-Mail:
———–
Hi Robert,
further thoughts on the Maven archetype idea. Having played with it, it doesn’t really seem practical because we don’t know what framework our users will be using. We could conceivably come up with an archetype for Grails, one for Spring, one for ZK, etc…
What we have done is Mavenize the basic demo so you can just download it and run it with mvn tomcat:run. That makes the zip file just 97k, which is nice. This is also true for the Grails demo.
I think it makes sense to make the tutorial a Maven project, but I don’t really see the value of making it an archetype. People will not want to create new projects based on this particular project — which uses plain old JSP. They’ll just get the basic project and fiddle with it while following the tutorial.
Your thoughts would be appreciated.
Thanks,
— Max
My opinion to this topic is that downloading zip files is not sexy. It is old school. I would prefer an Archetype because it is a very quick start. You just have to execute 1 single command and a whole project will be generated, where everything is configured in the right way.
Maybe people will not use your Archetype to start a new productive project, but they will use it to understand the framework/technology. It is good for teaching purposes. I was a trainer for nearly 2 years in Germany for some Java technologies and I used in my classes always Maven2 Archetypes to teach something. Here are a bunch of my Archetypes:
https://robert-reiz.com/tutorials/archetypes/
I think to get started with a technology and to understand something a Archetype is pretty good.