If you are using Maven 2 to build HK2 components, invoke the auto-depends plug-in for Maven so that the META-INF/services files are generated automatically during build time.
<plugin> <groupId>com.sun.enterprise</groupId> <artifactId>hk2-maven-plugin</artifactId> <configuration> <includes> <include>com/sun/enterprise/v3/**</include> </includes> </configuration> </plugin>
This example shows how to use @Contract and @Service and the resulting META-INF/services files.
The interfaces and classes in this example are as follows:
package com.sun.v3.annotations; @Contract public interface Startup {...} package com.wombat; @Contract public interface RandomContract {...} package com.sun.v3; @Service public class MyService implements Startup, RandomContract, PropertyChangeListener { ... }
These interfaces and classes generate this META-INF/services file with the MyService content:
com.sun.v3.annotations.Startup com.wombat.RandomContract