Domanda

Per impostazione predefinita Maven surefile plugin di test eseguiti in ambiente isolato (biforcuta). È possibile ignorare questo comportamento con seguente configurazione:

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <configuration>
        <forkMode>never</forkMode>
      </configuration>
    </plugin>
  </plugins>
</build>

Se avete bisogno di eseguire il debug i test si dovrebbe utilizzare questo frammento di configurazione. Oppure si potrebbe semplicemente eseguire esperto di costruire seguente modo:

$ mvn -Dmaven.surefire.debug tests

Questa volontà si avvia un debugger sulla porta 5005.

La mia domanda è: quali vantaggi hanno biforcano strategia e perché viene scelto come strategia di default per costruire Maven? Non è nonforking strategia è più semplice e, pertanto, deve essere utilizzato come default (Maven è convenzione sulla tool di configurazione, a destra)?

È stato utile?

Soluzione

  

La mia domanda è: che cosa i benefici sono biforcano strategia e perché viene scelto come strategia di default per costruire Maven

Per impostazione predefinita, infallibile Forks è la tua test utilizzando un JAR manifesta solo. IMO, i principali vantaggi sono che:

  1. fornisce un ambiente isolato con un percorso di classe in qualche modo "corretto".
  2. protegge il processo di Maven in sé (che è una buona cosa, soprattutto se Maven è in esecuzione incorporato nel vostro IDE ).
  

Non è nonforking strategia è più semplice e, pertanto, dovrebbe essere usato come predefinito?

Semplice per che cosa? Facile debug all'interno di un IDE? Io credo che non era l'intenzione iniziale (e preferisco collegare un debugger remoto in caso di necessità e per mantenere il principale sicuro processo di Maven).

Vedi anche

Altri suggerimenti

Modalità fork aiuta a caricare il sistema classpath se è impostato su "true" o "una volta". Ma a volte la modalità di impostazione della forcella = true errori caues come "linea commmand troppo lungo" o "ci sono fallimenti dei test" se si utilizza Maven-infallibile 2.5 plugin. Per evitare questo errore la sua si consiglia di ser forkmode = mai whn utilizzando suefire plug-in 2.5

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top