Ich habe eine funktionierende Maven-Build (siehe unten), die ein paar ausführbare Dateien vorbereitet, um als zwei separate Prozesse zu starten.Mehrere Startskripte mit Gradle
Obwohl dies funktioniert, wie kann dies mit Gradle getan werden? Ich sehe, dass Gradle ein Plugin namens application
bietet, aber es fällt mir schwer, ein schönes Beispiel dafür zu finden, wie man es bei der Eingabe von: gradle stage
2 ausführbare Dateien erstellen kann.
Gerade jetzt, wenn ich stage
nenne es nur eine ausführbare Datei auf dem "root" Mainclass in meinem gradle Skript definiert lautet:
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 das Maven Build:
<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>
Das Hinzufügen von 'duplicatesStrategy = 'exclude''zu der Kopieraufgabe wird die doppelten Skripte innerhalb des' bin/'-Verzeichnisses beseitigen. – Whymarrh