Logo Maven: The Definitive Blog
All About Writing Maven: The Definitive Guide
 

Maven Book (0.11): Minor Update to the Eclipse Chapter

Another minor release of Maven: The Definitive Guide. This update changes some screenshots in the m2eclipse chapter, and it also adds a section about the Goal selection dialog.

Read more...

Maven Book (0.10): PDF Download + Eclipse Chapter Update

I've released another version of the Maven Book today. The PDF version is back by popular demand (weighing in about 550 pages), and the Eclipse chapter has been updated. Also, some tweaks to the HTML formatting.

Read more...

Geertjan's Netbeans Maven Post and Synchronicity

Geertjan posted a blog post about Netbeans and the wide array of Maven Archetypes this morning, I posted an almost identical post from an Eclipse perspective. This was an entirely unplanned coincidence, but it is a synchronicity that tells me that the usefulness of the archetype plugin is upon us, and that it is triggered by IDE integration.

Read more...

m2eclipse Chapter, a Quick Survey of Archetypes (v0.9)

m2eclipse is more than just a simple plugin, it changes the way you'll create projects. Specifically, it will allow you to create projects from archetypes without having to type a command-line the size of a paragraph. I just updated the m2eclipse chapter and I included more details about the 88 available archetypes in the Maven repository (everything from AppFuse to Wicket).

Read more...

MavenBook (Alpha 0.8): Quality Update

We're making a lot of quality updates to the book, this revision of Maven: The Definitive Guide updates the introduction and adds some content to the POM chapter. Have fun reading, and let us know if you have any feedback - book@sonatype.com

Read more...

MavenBook (Alpha 0.7): Updated the Assemblies Chapter

I've finished a quick production update of John Casey's original Maven Assemblies chapter in Maven: The Definitive Guide. This chapter provides a great deal of information about the Maven Assembly plugin and has some recommendations and best practices. Check it out, and send any feedback to book@sonatype.com.

Read more...

MavenBook Alpha 0.5: POM Optimization Chapter

New Material from Brian Fox on POM Optimization

Sonatype has released a new chapter in the Maven Book on POM Optimization. Covers dependencyManagement, pluginManagement, and the Dependency Plugin.

Read more...

Maven Book Release Alpha 0.4: M2Eclipse, Assemblies

New M2Eclipse, Site, and Assemblies chapters

We've released a new version of the Maven Book - version 0.4. Highlights from this release include new content on Site Generation, M2Eclipse, Assemblies, and general improvements.

Read more...

JavaOne Technical Session: Automation with Hudson

Friday, 12:10 PM, Moscone, Gateway 104

If you haven't discovered Hudson yet, you are in for a surprise. It is a continuous integration server which has the easiest (and most innovative) installation and setup process of any continuous integration product I've seen. It works with Maven, and it is the continuous integration server that Sonatype is focusing on.

Kohsuke Kawaguchi is going to be presenting a technical session on Friday, from Kohsuke's blog:

Rama and I will be doing a technical session on Hudson Friday noon (TS-6547 "Improving the Engineering Process Through Automation by Hudson".) The talk includes overview of Hudson, two demos, discussion of best practices for bigger Hudson deployments, and the orb. So don't forget to add that to your schedule.

TS-6547 - Improving the Engineering Process Through Automation by Hudson, from the description:

As computers became more powerful, throwing more computer time at a problem to save a small amount of human time became economically sensible. This applies to our software development process as well, and that’s where the notion of continuous integration comes into play. This presentation discusses an open-source continuous integration system called Hudson. This relatively new project in the field of Java™ technology-based continuous integration systems is gaining traction among developers, because of its ease of use and extensibility.

The session begins with a quick recap of why continuous integration matters and introduces features of Hudson to show how they help developers concentrate more on important things. Particular emphasis is put on the test automation and handling of interproject dependencies, because they typically involve humans today yet are ripe for automation. It then discusses how to extend Hudson to interact with the existing systems in your environment and to cater to the way your team works. Because every team works differently and uses different tools, the ability to adapt is critical in getting the most out of Hudson.

Attendees will leave the session knowing how a tool such as Hudson can improve team productivity.

BTW, this orb thing looks pretty interesting, I want one. If you are at the conference, you should go just to see Kohsuke talk about this build status light he made for himself.

JavaOne: Bytecode Analysis/Transformation BOF

Tuesday, 7:30 PM, Moscone, Hall E 133

Not to be missed, Eugene Kuleshov and Misko Hevery are going to be giving a quick hour-long presentation on byte-code manipulation. Byte-code manipulation is the foundation for today's innovation. Everything from JRuby, to Groovy, and AspectJ use ASM. If you have ever been interested in learning the how and why of bytecode manipulation, you should attend this BoF on Tuesday night.

From Eugene's Blog:

Misko Hevery and I will be presenting "Practical Applications of Static Bytecode Analysis and Transformation for the Java platform" BOF session on Tuesday, May 06 at 19:30 - 20:20. We are going to show several open source tools that are using ASM framework for bytecode analysis and manipulation.

BOF-5839 - Practical Applications of Static Java™ Technology-Based Bytecode Analysis and Transformation, Full Description:

The Java™ Virtual Machine provides a proven platform for running reliable and high-performance applications. Its class-loading architecture and open class format specification enable the implementation of dynamic languages in addition to static analysis and transformation tools not possible on other platforms. They include code obfuscation and optimization, test coverage tools, calculation of quality metrics, bug finders, and many others.

This session shows that bytecode analysis and manipulation are not that difficult and are very cool. It gives attendees a better understanding of how these tools do their job and how these ideas can be used in other applications. Using a popular open-source bytecode manipulation and analysis framework, it shows several practical applications of static bytecode analysis and transformation in real products:

  • Adding code to record test coverage
  • Dependencies, structural analysis, complexity metrics, and architectural manipulations
  • Renaming classes and packages for special packaging needs
  • Verifying binary compatibility between releases