in src/main/java/org/apache/maven/plugins/ear/util/EarMavenArchiver.java [75:103]
public Manifest getManifest( MavenSession session, MavenProject project, MavenArchiveConfiguration config )
throws ManifestException, DependencyResolutionRequiredException
{
final Manifest manifest = super.getManifest( session, project, config );
if ( config.getManifest().isAddClasspath() )
{
String earManifestClassPathEntry = generateClassPathEntry( config.getManifest().getClasspathPrefix() );
// Class-path can be customized. Let's make sure we don't overwrite this
// with our custom change!
final String userSuppliedClassPathEntry = getUserSuppliedClassPathEntry( config );
if ( userSuppliedClassPathEntry != null )
{
earManifestClassPathEntry = userSuppliedClassPathEntry + " " + earManifestClassPathEntry;
}
// Overwrite the existing one, if any
final Manifest.Attribute classPathAttr = manifest.getMainSection().getAttribute( CLASS_PATH_KEY );
if ( classPathAttr != null )
{
classPathAttr.setValue( earManifestClassPathEntry );
}
else
{
final Manifest.Attribute attr = new Manifest.Attribute( CLASS_PATH_KEY, earManifestClassPathEntry );
manifest.addConfiguredAttribute( attr );
}
}
return manifest;
}