Mehrere Startskripte mit Gradle
Ich habe einen funktionierenden Maven-Build (siehe unten), der einige ausführbare Dateien für den Start als zwei separate Prozesse vorbereitet.
Obwohl dies gut funktioniert, wie kann dies mit Gradle durchgeführt werden? Ich sehe, dass Gradle ein Plugin namens bietetapplication
, aber es fällt mir schwer, ein gutes Beispiel dafür zu finden, wie man das beim Tippen sagt:gradle stage
sollte es 2 ausführbare Dateien erstellen.
Gerade jetzt, wenn ich anrufestage
Es wird nur eine ausführbare Datei für die Hauptklasse "root" bereitgestellt, die in meinem Gradle-Skript definiert ist:
apply plugin: 'java'
apply plugin: 'application'
mainClassName = 'SpringLauncher'
applicationName = 'foo'
compileJava.options.encoding = 'UTF-8'
targetCompatibility = '1.7'
sourceCompatibility = '1.7'
task stage(dependsOn: ['clean', 'installApp', 'hello'])
Und die Maven bauen:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>appassembler-maven-plugin</artifactId>
<version>1.1.1</version>
<configuration>
<assembleDirectory>target</assembleDirectory>
<programs>
<program>
<mainClass>foo.bar.scheduler.SchedulerMain</mainClass>
<name>scheduler</name>
</program>
<program>
<mainClass>SpringLauncher</mainClass>
<name>web</name>
</program>
</programs>
</configuration>
<executions>
<execution>
<phase>package</phase><goals><goal>assemble</goal></goals>
</execution>
</executions>
</plugin>
</plugins>