2016-04-28 8 views
5

Ich benutze JBOSS AS7.1, Eclipse Luna für die Entwicklung. Meine Eclipse-Installation hat ein Plugin für Maven installiert.Muss ich jedes Mal, wenn ich Änderungen an statischen Dateien mache, ein Maven-Webapp-Projekt erstellen?

Ich habe mein Webapp-Projekt mit maven Kommandozeile erstellt.

In meiner aktuellen Einrichtung muss ich mein Maven-Projekt mit mvn clean install jedes Mal für alle Änderungen erstellen, auch für die statischen Dateien wie HTML, CSS.

Dann muss ich die generierte WAR-Datei mithilfe der JBOSS-Konsole unter http://localhost:9990/console bereitstellen.

Ich bin mir ziemlich sicher, dass es einen anderen Weg geben muss, dies zu tun. Sicher, es braucht verdammt viel Zeit.

Bitte führen Sie mich zu den Ansätzen, die ich für eine schnellere Entwicklung übernehmen kann.

+1

I JBOSS AS 7-Server verwenden. – Paras

+1

Nein. Es besteht kein spezifischer Bedarf für JBOSS. Aber als Entwickler würde ich meine Entwicklungs- und Testumgebung bevorzugen. – Paras

Antwort

2

Eine Option ist jrebel. Es ist jedoch nicht frei.

Wenn Sie nicht an JBOSS gebunden sind, können Sie Spring Boot verwenden. Es unterstützt auch automatischen Neustart (spring boot devtools)

2

Sie können die statische Datei in Ihrem Zielordner ersetzen und starten Sie einen Build überspringt die compile Phase.

Sie sparen viel Zeit, wenn Sie nur statische Dateien aktualisieren.

Es ist keine gute Übung, aber sollte Sie Ihr Ziel erreichen lassen.

Wie:

  • Verwenden maven-clean-plugin die Dateien zu entfernen, aus dem Zielordner zu ersetzen (oder sie werden nicht überschrieben werden);
  • Verwenden Sie das Tag resources, wenn Ihre statischen Dateien nicht der einzige Inhalt des Ressourcenordners sind, den Sie kopieren möchten (oder Ihre statischen Dateien sind nicht in Ressourcen Ordner überhaupt);
  • Verwenden Sie die maven-compiler-plugin, um die Kompilierungsphase zu überspringen.

Fertigen Sie dieses Profil (und verwenden Sie es mit mvn clean install -P skip-compile):

<profile> 
    <id>skip-compile</id> 
    <build> 
     <resources> <!-- optional --> 
      <resource> 
       <directory>src/main/resources/META-INF</directory> 
       <targetPath>META-INF</targetPath> 
       <excludes> 
        <exclude>**/*.xml</exclude> 
       </excludes> 
       <includes> 
        <include>**/*.html</include> 
        <include>**/*.css</include> 
       </includes> 
      </resource> 
     </resources> 
     <plugins> 
      <plugin> 
       <artifactId>maven-clean-plugin</artifactId> 
       <version>3.0.0</version> 
       <configuration> 
       <excludeDefaultDirectories>true</excludeDefaultDirectories> 
        <filesets> 
         <fileset> 
          <directory>${project.build.outputDirectory}/META-INF</directory> 
          <excludes> 
           <exclude>**/not_to_delete.xml</exclude> 
          </excludes> 
          <includes> 
           <include>**/*.html</include> 
           <include>**/*.css</include> 
          </includes> 
          <followSymlinks>false</followSymlinks> 
         </fileset> 
        </filesets> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <executions> 
        <execution> 
         <id>default-compile</id> 
         <phase>compile</phase> 
         <goals> 
          <goal>compile</goal> 
         </goals> 
         <configuration> 
          <skipMain>true</skipMain> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
    </build> 
</profile> 
+0

Akzeptierte Antwort nur 2 Stunden nach dem Kopfgeld ...>.> – Linuslabo

Verwandte Themen