2010-11-23 12 views
3

Ich habe eine vorhandene Webanwendung, die eine WAR-Datei erstellt. Ich möchte die Verzeichnisstruktur in Konventionen von Maven konvertieren. Und ich bin ein bisschen verloren.Bestehende Web-App-Dateistruktur in Maven-Dateistruktur konvertieren?

Insbesondere das aktuelle .war, das von einem ant-Ziel erstellt wurde, kopiert nicht auf das .war-Element im Teilbaum site/statics; Dies wird kopiert durch ein anderes, anderes Ant Target.

Aber wenn ich z. B. Anlegesteg von Maven ausführen möchte (und ich tue!), Muss ich Site/Statik/**/kopieren. zu irgendwo in Maven target Verzeichnis. Ich weiß nicht, wie man die Konventionen dieser Maven macht.

Danke.

Hier ist die vorhandene Verzeichnisstruktur als (sorry) Screenshot Form von Eclipse:

+0

parametriert werden Was ist so besonders an der Site/Statik-Ordner? Ich gehe davon aus, dass site/jsp auf der Root-Ebene der WAR-Datei (mit den JSPs) endet. Willst du damit sagen, dass die Dateien in der Site/Statik von irgendwoher kommen und oben in die Verzeichnisstruktur des anderen Ameisen-Targets? Außerdem sehe ich, dass Sie einen Ohrordner (zum Generieren einer EAR-Datei, die auf einem JEE-Server bereitgestellt werden soll) und einen Modulordner (ein EJB-JAR erstellen?) – ddewaele

Antwort

6

Sie würden besser Maven Standard-Verzeichnisstruktur folgen oder wenn Sie darauf bestehen, Ihren eigenen verwenden Sie müssen Ihre Maven konfigurieren. Pom-Datei jeweils.

Standard Maven War Plugin-Verzeichnisstruktur wird erklärt here und ihre Verwendung here.

Standardmäßig sollten Sie in $ {basedir}/src/main/webapp JSP-Dateien und andere statische oder dynamische Dateien speichern, die in das WAR-Verzeichnis root gelangen sollen. Um diese Standardstruktur zu ändern, müssen Sie einige Konfigurationen hinzufügen. Werfen Sie einen Blick auf verschiedene Optionen unter this page und this page für ein Beispiel ihrer Verwendung.

Statt Ihre externe statische Datei mit einem Skript zu kopieren Sie in die Sie verwenden können folgende Einstellung pom:

<plugins> 
    ... 
    <plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-war-plugin</artifactId> 
    <configuration> 
     <webResources> 
     <resource> 
      <directory>/absolute/path/to/external/static/</directory> 
     </resource> 
     </webResources> 
    </configuration> 
    </plugin> 
    ... 
</plugins> 

Verzeichnis ein Pfad relativ sein kann, um Sie pom oder ein absoluter Pfad (die Sie pom unportable macht) oder mit $ {xxx}

Verwandte Themen