Haben Sie darüber nachgedacht, ein kleines Maven-Plugin zu schreiben, um das selbst zu automatisieren? Die Plugin-API ist großartig und wirklich einfach - Sie können es ausprobieren here. Grundsätzlich würden Sie ein Plugin-Projekt erstellen, die einige XML-Parameter und führt die Konvertierung für Sie nimmt:
@Mojo(name = "compress", defaultPhase = "compile")
public class SmushItCompressMojo extends AbstractMojo {
@Parameter(property = "images")
String[] images;
@Parameter(property = "destination")
String destination;
@Override
public void execute() throws MojoExecutionException, MojoFailureException {
// Validate your inputs.
// For each image file:
// Compress it using a request to smush.it.
// Save the compressed image to the destination file.
// Report any errors/success.
}
}
Dann wird in der pom.xml
, dass Ihre neu geschrieben mojo verwenden möchte, verwenden Sie es wie folgt in der <plugins>
Tag unter <build>
:
<plugin>
<groupId>com.stackoverflow</groupId>
<artifactId>smush-it-maven-plugin</artifactId>
<version>1.0.0-SNAPSHOT</version>
<executions>
<execution>
<id>compress</id>
<goals>
<goal>compress</goal>
</goal>
<configuration>
<images>
<image>${project.build.directory}/../images/1.png</image>
<image>${project.build.directory}/../images/2.png</image>
<image>${project.build.directory}/../images/3.png</image>
</images>
<destination>${project.build.directory}/../src/main/resources/compressed/
</configuration>
</execution>
</executions>
</plugin>
dann können Sie die drei Bilder erwarten gespeichert in die komprimierten Ressourcen-Ordner werden, die in einer späteren Lebenszyklusphase erhalten werden dann verpackt werden. Offensichtlich gibt es hier eine Menge Flexibilität, genau wo die Bilder herkommen und gespeichert werden. Aber das Mojo selbst ist ziemlich einfach, und genau so automatisieren Sie Ihre anwendungsspezifischen Aufgaben, um mit Maven zu arbeiten.
Hier ist das Plugin https://github.com/nitinsurana/yahoo-smush-maven-plugin –