|
Build Engineering often means that you have to maintain builds that have been around for a while and it is pretty common for the upgrade to Maven 2 to be more trouble than it's worth. In this column we'll take a peek at Maven 1.0.2 which is still used by many large-scale Java SOA builds. While Maven 2 uses pure java, maven 1.0.2 used a scripting language called jelly files ( http://commons.apache.org/jelly ). As noted on the Apache website, Jelly is a tool for turning XML into executable code. So Jelly is a Java and XML based scripting and processing engine. Jelly was originally selected as a more flexible and powerful front end to Ant in the Maven 1.0.2 project.
A good way to get started learning Maven is to use the genapp directive which creates a small project.
maven -e genapp
D:\_maven_work>type project.properties
Here is the output from the genapp command. D:\_maven_work>maven -e genapp __ __ | \/ |__ _Apache__ ___ | |\/| / _` \ V / -_) ' \ ~ intelligent projects ~ |_| |_\__,_|\_/\___|_||_| v. 1.0.2
Attempting to download commons-jelly-tags-interaction-20030211.143817.jar. 4K downloaded Enter a project template to use: [default]
Please specify an id for your application: [app] cm-application Please specify a name for your application: [Example Application] CM Application Please specify the package for your application: [example.app] cmc.testapp build:start: genapp: [copy] Copying 1 file to D:\_maven_work\src\java\cmc\testapp [copy] Copying 3 files to D:\_maven_work\src\test\cmc\testapp [copy] Copying 1 file to D:\_maven_work [copy] Copying 1 file to D:\_maven_work BUILD SUCCESSFUL Total time: 2 minutes 4 seconds Finished at: Sun May 04 06:36:24 GMT 2008
This produces a project.properties and project.xml file along with a src directory that has subdirectories Conf, java and test. Directory of D:\_maven_work\src
Conf
O'Reilly does have a book on Maven 1 called "Maven A Developer's Notebook". Resources to support Maven 1 were always rather sparse and most developers just experimented until they got it to work. I have also gotten Maven 1 and Maven 2 builds to work under CruiseControl, although I was not able to get them to work within the same run (I had to have two separate instances of CruiseControl running using different ports in separate directories). Bob Aiello is the Editor-in-Chief for CM Crossroads and an independent consultant specializing in Software Process Improvement including Software Configuration and Release Management. Mr. Aiello has over 25 years experience as a technical manager in several top NYC Financial Services firms where he had had company-wide responsibility for CM, often providing hands-on technical support for enterprise Source Code Management tools, SOX/Cobit compliance, build engineering, continuous integration and automated application deployment. Bob is a long standing member of the Steering Committee of the NYC Software Process Improvement Network (CitySPIN), where he serves as the chair of the CM SIG. Mr. Aiello holds a Masters in Industrial Psychology from NYU and a B.S. in Computer Science and Math from Hofstra University. You may contact Mr. Aiello at raiello@acm.org or link with him at http://www.linkedin.com/in/bobaiello .
Set as favorite
Bookmark
Email this
Hits: 4154 Trackback(0)Comments (0)
|
| Last Updated on Tuesday, 06 May 2008 04:38 |



