2016-06-20 6 views
2

Ich habe ein Großprojekt und konfiguriert War-Plugin, das erfolgreich die War-Datei erzeugt.Generiere War-Datei ohne libs-Verzeichnis in Gradle

Ich möchte meine Abhängigkeiten JAR-Dateien nicht Teil der WAR-Datei im Verzeichnis [/ WEB-INF/lib /] sein.

Ich werde manuell alle Abhängigkeiten in jboss Lib-Ordner hinzufügen.

apply plugin: 'war' 

sourceSets { 
main { 
    java { 
     srcDir 'src' 
    } 
} 
} 

war.baseName = 'web' 

webAppDirName = 'WebContent' 

war { 
webXml = file('WebContent/WEB-INF/web.xml') 
} 

dependencies { 
compile fileTree('../ThirdPartyJars') 
compile project(':core') 
} 

Dies generiert eine WAR-Datei, die bereits alle Abhängigkeit enthält.

Ist eine Möglichkeit, alle diese Abhängigkeiten von WAR-Datei in Großbuchstaben zu entfernen.

Antwort

1

Dies ist eine schreckliche Idee, IMO, aber Sie können die Abhängigkeiten der providedCompile oder providedRuntime Konfiguration hinzuzufügen, statt compile oder runtime.

+0

Danke! ProvidedCompile arbeitete für mich. Ich weiß, dass es eine schlechte Idee ist, alle Abhängigkeiten in jboss libs zu haben, aber es ist ein Legacy-Projekt Ich arbeite an vielen Abhängigkeiten, die bereits in jboss vorhanden sind, die ich aufgrund anderer Projekte nicht entfernen kann. – PyThon

+0

Wenn wir Abhängigkeiten in die WAR-Datei aufnehmen, wird die Gesamtgröße der Datei mehr als 100 MB, wodurch Zeit benötigt wird, um den Bereitstellungskrieg auf andere Server im jboss-Bereitstellungsverzeichnis zu verschieben. Ist ihre Alternative zu diesem Ansatz, wie Sie gesagt haben Abhängigkeiten in einem Krieg ist eine schlechte Idee. – PyThon