M2Eclipse & Plugin execution not covered by lifecycle configuration

I was recently forced to update my Eclipse installation to version 3.7 (Indigo). After opening some old projects, I got the following error message:

Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:build-helper-maven-plugin:1.5:add-source (execution: add-source, phase: generate-sources) ... Maven Project Build Lifecycle Mapping Problem

The “build-helper-maven-plugin” simply adds a second source folder:

<plugin>
	<groupId>org.codehaus.mojo</groupId>
	<artifactId>build-helper-maven-plugin</artifactId>
	<version>1.5</version>
	<executions>
		<execution>
			<id>add-source</id>
			<phase>generate-sources</phase>
			<goals>
				<goal>add-source</goal>
			</goals>
			<configuration>
				<sources>
					<source>${basedir}/src-gen/main/java</source>
				</sources>
			</configuration>
		</execution>
	</executions>
</plugin>

However, with Indigo and M2Eclipse, the source folder was no longer added, and I got compile errors all over the place…

It took me some time to figure out the right solution:
Just install the “M2Extras / buildhelper” plugin!

You can download it here (Eclipse Update Site):
https://repository.sonatype.org/content/repositories/forge-sites/m2e-extras/0.14.0/N/0.14.0.201109282148/
(The exact directory may vary depending on you exact Eclipse version and the latest available M2Extras release)

A better keytool II

Have you ever used Java’s keytool? A simplistic command line tool that’s a pain if you use it only once in awhile.

Some time ago I suggested KeyTool IUI as a nice visual replacement for the Java Keytool. The bad news is that the owner sold the software and it’s no longer available. [Update 2011/04/01] Good news! KeyTool IUI is now open source!

But there is another nice open source tool you can use:

It’s a user friendly GUI application for creating, managing and examining keystores, keys, certificates, certificate requests, certificate revocation lists and more.

A better keytool

Have you ever used Java’s keytool? A simplistic command line tool that’s a pain if you use it only once in awhile.

But here comes KeyTool IUI to the rescue:

KeyToolIUI Screenshot 1
KeyToolIUI Screenshot 1KeyToolIUI Screenshot 2

A great UI to create and manage keys and certificates and more . . .
http://yellowcat1.free.fr/index_ktl.html

[Update 2011/03/13]
I’m sad to tell you that Bob (yellowcat) the developer of KeyTool IUI told me that it’s no longer available. He sold the software and all you can do is try to download an old copy of it somewhere from the internet.

[Update 2011/04/01]
Good news! The tool is now open source: http://code.google.com/p/keytool-iui/

Managing JAR Dependencies

Developing infrastructural components is sometimes difficult when it comes to re-factoring that code—Is that class being used by any other project in your company? How do you determine whether it is? If you’re in luck, your company has a local Maven Repository so you can find out which other projects depend on your artifacts. But that is only half the battle: Which classes do in fact specifically depend on your code?

I recently found a nice tool that solves the problem:

The Class Dependency Analyzer!

Simply add the JAR files to a new work set. After analyzing the classes, the answer is just a Right Click of the mouse away:

Class Dependency Analyzer Screenshot (Small)
Class Dependency Analyzer Screenshot (Small)