Build ein Projekt mit mehreren Modulen verwenden Gradle

View more categories:

1- Die Vorstellung

Das Dokument wird geschrieben auf die Basic von ...:
  • Eclipse 4.6 (NEON)

Sie sind gerade, das fortgeschrittene Dokument über Gradle zu lesen. Wenn Sie als der Anfänger mit Gradle sind, sollen Sie zuerst das Führungsdokument für die Anfänger mit Gradle ( Hello world Gradle) lernen bei:

2- Das Modell des Beispiels

Das ist das Bild für die Bezeichnung des Beispiel im Dokument
Das Ziel der Hinweise ist:
  1. Wie benutzt eine Module die andere Module in Gradle
  2. die simultane Einpackung der unterschiedlichen Module durch Gradle (output: jar, war).
  3. die Web App auf Gradle Tomcat Plugin laufen.

MathWebApp: ist ein  WebApp project
MathLibrary: ist ein Bibliothek Project, einschließlich die Utility Klasse, die durch MathWebApp.benutzt werden

GradleMain: ist ein Projekt zur Einpackung der oben 2 Projekte. Es ist ein Vaterprojekt und die 2 oben Projekte gelten als seine 2 untergeordneten Module. GradleMain wird:
  • MathLibary zur file jar einpacken
  • MathWebApp zur file war einpacken.

3- MathLibrary Projekt erstellen

  • File/New/Other...
Geben Sie ein
  • Project Name: MathLibrary
Das Project wird erstellt.
Erstellen Sie die Class MathUtils:
Class MathUtils hat eine Methode für die Kalkulation der Sume von 2 Nummer, diese Class liegt im Projekt MathLibrary und wird im Projekt  MathWebApp.benutzt
package org.o7planning.mathutils;

public class MathUtils {

  public static int sum(int a, int b) {
      return a + b;
  }

}

4- MathWebApp Projekt erstellen

Ähnliche Erstellung des Projekt  MathWebApp.
  • Öffnen Sie die File build.gradle
MathWebApp ist eine Webapplikation. Es benutzt das Projekt  MathLibrary wie eine Bibliothek. Deshalb sollen Sie MathWebApp abhängig von  MathLibrary.anmelden
MathWebApp/build.gradle

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'war'  

apply plugin: 'com.bmuschko.tomcat'

repositories {
   jcenter()
}

dependencies {    

   testCompile 'junit:junit:4.12'
   
 
   providedCompile "javax.servlet:javax.servlet-api:3.1.0"      
   
   compile project(':MathLibrary')
}


dependencies {
   def tomcatVersion = '7.0.59'
   
   tomcat "org.apache.tomcat.embed:tomcat-embed-core:${tomcatVersion}",
          "org.apache.tomcat.embed:tomcat-embed-logging-juli:${tomcatVersion}",
          "org.apache.tomcat.embed:tomcat-embed-jasper:${tomcatVersion}"
}


buildscript {

   repositories {
       jcenter()
   }

   dependencies {
       classpath 'com.bmuschko:gradle-tomcat-plugin:2.2.2'
   }
}
Wenn es gibt jede Änderung mit build.gradle, sollen Sie Gradle benutzen um das Projekt zu aktualiesieren
Erstellen Sie die File index.jsp,und sie benutzt die Utility Class MathUtils im Projekt  MathLibrary.
index.jsp
<html>
<body>
<h2>Hello World!</h2>

<%

int a = 100;
int b = 200;

int c = org.o7planning.mathutils.MathUtils.sum(a,b);

out.println("<h2>"+ c+"</h2>");

%>

</body>
</html>

5- GradleMain Projekt erstellen

ähnliche Erstellung eines Projekt  GradleMain:
GradleMain ist Projekt zum Aufbau der 2 Projekte MathLibrary und  MathWebApp. Sie sollen diese 2 Projekte in settings.gradle definieren
GradleMain/settings.gradle

rootProject.name = 'GradleMain'


include   ':MathLibrary', ':MathWebApp'
project(':MathLibrary').projectDir = new File(settingsDir, '../MathLibrary')
project(':MathWebApp').projectDir = new File(settingsDir, '../MathWebApp')
Und melden Sie GradleMain abhängig von MathLibrary & MathWebApp.an
GradleMain/build.gradle
apply plugin: 'java'
apply plugin: 'eclipse'

repositories {
    jcenter()
}

dependencies {   
 
    testCompile 'junit:junit:4.12'     
}

dependencies {
    compile project(':MathLibrary')
    compile project(':MathWebApp')
}
Bei jeder Änderung der  build.gradle sollen Sie die  Gradle benutzen um das Projekt zu aktualliseren

6- Die Applikation bauen (build)

Wechseln Sie den Tab  "Gradle Task" und wählen Sie "build/Run Gradle Tasks".
Gradle wird die Projekte nach einer Reihenfolge bauen (build) um sicherzustellen
Das Ergebnis
Auf Tab  Console schauen:

7-  MathWebApp laufen

View more categories: