in src/main/java/org/apache/maven/plugins/war/packaging/ClassesPackagingTask.java [86:120]
protected void generateJarArchive(WarPackagingContext context) throws MojoExecutionException {
MavenProject project = context.getProject();
ArtifactFactory factory = context.getArtifactFactory();
Artifact artifact =
factory.createBuildArtifact(project.getGroupId(), project.getArtifactId(), project.getVersion(), "jar");
String archiveName;
try {
archiveName = getArtifactFinalName(context, artifact);
} catch (InterpolationException e) {
throw new MojoExecutionException(
"Could not get the final name of the artifact [" + artifact.getGroupId() + ":"
+ artifact.getArtifactId() + ":" + artifact.getVersion() + "]",
e);
}
final String targetFilename = LIB_PATH + archiveName;
if (context.getWebappStructure().registerFile(currentProjectOverlay.getId(), targetFilename)) {
context.addResource(targetFilename);
final File libDirectory = new File(context.getWebappDirectory(), LIB_PATH);
final File jarFile = new File(libDirectory, archiveName);
final ClassesPackager packager = new ClassesPackager();
packager.packageClasses(
context.getClassesDirectory(),
jarFile,
context.getJarArchiver(),
context.getSession(),
project,
context.getArchive(),
context.getOutputTimestamp());
} else {
context.getLog()
.warn("Could not generate archive classes file [" + targetFilename + "] has already been copied.");
}
}