2016-04-28 67 views
5

Sto usando JBOSS AS7.1, Eclipse Luna per lo sviluppo. La mia installazione di Eclipse ha un plugin installato per Maven.Devo creare un progetto webapp maven ogni volta che apporto le modifiche in file statici?

Ho creato il mio progetto webapp usando maven command-line.

Nel mio attuale set up, devo costruire il mio progetto di maven usando mvn clean install ogni volta per tutte le modifiche, anche per i file statici come HTML, CSS.

Quindi, devo distribuire il file WAR generato utilizzando la console JBOSS in esecuzione su http://localhost:9990/console.

Sono sicuro che ci deve essere un altro modo per farlo. Sicuramente, ci vuole un sacco di tempo.

Per favore, guidami agli approcci che posso adottare per uno sviluppo più rapido.

+1

Sto usando JBoss AS 7 Server. – Paras

+1

No. Non c'è alcuna necessità specifica di JBOSS. Ma come sviluppatore preferirei che il mio ambiente di sviluppo e test fosse lo stesso. – Paras

risposta

2

Un'opzione è jrebel. Non è gratuito però.

Se non si è vincolati a JBOSS, è possibile utilizzare l'avvio a molla. Supporta anche il riavvio automatico (spring boot devtools)

2

È possibile sostituire il file statico nella cartella di destinazione e avviare una build saltando la fase compile.

Si risparmia molto tempo, quando si aggiornano solo file statici.

Non è una buona pratica, ma dovrebbe consentirvi di raggiungere il vostro obiettivo.

Come:

  • Utilizzare il maven-clean-plugin per rimuovere i file per sostituire dalla cartella di destinazione (o non saranno sovrascritti);
  • Utilizzare il tag resources se i file statici non sono l'unico contenuto della cartella delle risorse che si desidera copiare (oppure i file statici non sono nella cartella risorse);
  • Utilizzare lo maven-compiler-plugin per saltare la fase di compilazione.

Personalizza questo profilo (e utilizzarlo con 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

Risposta accettata solo 2 ore dopo la fine della taglia ...>.> – Linuslabo