Most important changes:

Generating descriptors

For performance, Maven doesn't do classpath scanning. Instead Maven expects a descriptor containing all components.


With Maven 3.1.0+ we can switch from plexus-component-metadata to sisu-maven-plugin

        <plugin>
          <groupId>org.eclipse.sisu</groupId>
          <artifactId>sisu-maven-plugin</artifactId>
          <version>0.3.4</version>
          <executions>
            <execution>
              <id>index-project</id>
              <goals>
                <goal>main-index</goal>
                <goal>test-index</goal>
              </goals>
            </execution>
          </executions>
        </plugin>


Testing

In caseĀ org.apache.maven.plugin-testing:maven-plugin-testing is used, it should be changed to 3.1.0 to be Maven 3.1.0 compatible.

PlexusTestcase

In order to make it possible to test with javax.inject in unit tests, one might need to add the following:

    @Override
    protected void customizeContainerConfiguration( ContainerConfiguration configuration )
    {
        configuration.setClassPathScanning( "INDEX" );
    }